面向對象1 面向對象,更在乎的結果,而過程的實現並不重要 IDea快捷鍵(基礎版) | 快捷鍵 | 作用 | | | | | ctrl + / | 快捷註釋 | | ctrl + shift + / | 多行註釋 | | ctrl + d | 快速複製 | | ctrl + shift + up/d ...
面向對象1
面向對象,更在乎的結果,而過程的實現並不重要
IDea快捷鍵(基礎版)
快捷鍵 | 作用 |
---|---|
ctrl + / | 快捷註釋 |
ctrl + shift + / | 多行註釋 |
ctrl + d | 快速複製 |
ctrl + shift + up/down | 移動代碼行數 |
ctrl + z | 撤回 |
ctrl + o | 快速重寫父類函數 |
ctrl + alt + l | 自動格式化代碼 |
⭐printf 格式化傳參(輸出)
參數 | 對應數據類型 |
---|---|
%d | 整型 |
%f | 浮點型 |
%s | 字元串 |
%b | 布爾型 |
%c | 字元型 |
%n | 換行 |
// pringln 字元串拼接輸出
System.out.println("My name is " + this.name + "!");
// printf 格式化傳參輸出
System.out.printf("My name is %s!",this.name);
println 和 print 區別
println 可以自動換行,但是 print 不行,使用方法同 println 需要使用 + 進行字元串拼接
類(構造方法)
定義:對某些事物共性的抽取
// 定義Student類
// package com.iweb.demo02;
public class Student {
// 成員變數
public int sno;
public String name;
public Float height;
public char gender;
public boolean inSingle;
// 重寫構造方法
public Student(int sno, String name, Float height, char gender, boolean inSingle) {
this.sno = sno;
this.name = name;
this.height = height;
this.gender = gender;
this.inSingle = inSingle;
}
// 成員方法
public void eat(){
System.out.println("Student => eat()");
}
// 重載eat方法
public void eat(String tmp){
System.out.println("Student => sat(tmp)");
}
}
// 主運行類
// package com.iweb;
import com.iweb.demo02.Student; // 引用類
public class Application {
public static void main(String[] args) {
Student student = new Student(1001,"robot01",185f,'男',true); // 實例化對象
// 調用成員方法
student.eat();
student.eat("food01");
}
}
在類里定義引用型變數
// 定義Person類
// package com.iweb.demo02;
public class Person {
public String name;
public String[] hobbies= {"123","123"};
public Dog dog;
public void display(){
System.out.print(this.name + " hobbies: ");
for(String hobby:this.hobbies){
System.out.print(hobby + " ");
}
System.out.println("\n My dog name is " + this.dog.name);
}
public void setDog(Dog dog) {
this.dog = dog;
}
public void setName(String name){
this.name = name;
}
}
// 定義Dog類
// package com.iweb.demo02;
public class Dog {
public String name;
public void run(){
System.out.println("run() => Dog");
}
public void setName(String name) {
this.name = name;
}
}
// 主運行類
// package com.iweb;
import com.iweb.demo02.Dog;
import com.iweb.demo02.Person;
public class Application {
public static void main(String[] args) {
Person person = new Person();
Dog dog = new Dog();
dog.setName("dog01");
person.setName("robot01");
person.setDog(dog);
person.display();
}
}
構造方法
無參構造
// 定義Robots類
// package com.iweb.demo02;
public class Robots {
// 機器人姓名
public String name;
// 製造商
public String manufacturer;
// 產量
public int yield;
// 無參構造
public Robots() {
this.name = "robot01";
}
}
有參構造
// 定義Robots類
// package com.iweb.demo02;
public class Robots {
// 機器人姓名
public String name;
// 製造商
public String manufacturer;
// 產量
public int yield;
// 有參構造
public Robots(String name, String manufacturer, int yield) {
this.name = name;
this.manufacturer = manufacturer;
this.yield = yield;
}
}
重載構造方法
讓開發者選擇不同的構造方法實例化對象
// 定義Robots類
// package com.iweb.demo02;
public class Robots {
// 機器人姓名
public String name;
// 製造商
public String manufacturer;
// 產量
public int yield;
// 無參構造
public Robots() {
this.name = "robot01";
}
// 有參構造
public Robots(String name, String manufacturer, int yield) {
this.name = name;
this.manufacturer = manufacturer;
this.yield = yield;
}
}
// 主運行類
// package com.iweb;
import com.iweb.demo02.Robots;
public class Application {
public static void main(String[] args) {
// 調用無參構造
Robots robots = new Robots();
// 調用有參構造
Robots robots1 = new Robots("robot01","factory01",10);
}
}