面向对象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);
}
}
来源:https://www.cnblogs.com/te9uila/p/17269483.html
本站部分图文来源于网络,如有侵权请联系删除。