面向对象01
一、三条主线
1.Java类及类的成员:属性、方法、构造器;代码块、内部类
2.面向对象的三大特征:封装性、继承性、多态性(抽象性)
3.其他关键字:this、super、static、final、abstract、interface、package、import
二、“人把大象装入冰箱”
1.面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做
a.把冰箱门打开
b.抬起大象,塞进冰箱
c.把冰箱门关闭
2.面向对象:强调具备功能的对象,以类/对象为最小的单位,考虑谁来做。
人{
打开(冰箱){
冰箱。开开( );
}
抬起(大象){
大象。进入冰箱( );
}
关闭(冰箱){
冰箱。闭合( )
}
}
冰箱{
开开( ){ }
闭合( ) { }
}
大象{
进入(冰箱){
}
}
三、面向对象的两个要素:类与对象
一、类:对一类事物的描述,抽象的、概念上的定义
设计类其实是设计类的成员
属性=成员变量=field=域、字段
方法=成员方法=函数
创建Person类对象=类的实例化=实例化类
对象:实际存在的该类事物的每个个体
二、类和对象的使用(面向对象思想落地的实现)
1.创建类,设计类的成员
2.创建类的对象
3.通过对象。属性,对象。方法调用对象的结构
public class PersonTest{
public static void main(String[] args) {
//2.创建Person类对象
Person p1 = new Person();
//Scanner scanner = new Scanner(System.in);
//3.通过对象。属性,对象。方法调用对象的结构
//调研对象的结构:属性、方法
//调用属性:"对象。属性"
p1.name = "Tom";
p1.isMale = true;
System.out.println(p1.name);
//调用方法:"对象。方法"
p1.eat();
p1.sleep();
p1.talk("Chinese");
}
}
//1.创建类,设计类的成员
class Person{
//属性
String name;
int age;
boolean isMale;
//方法
public void eat(){
System.out.println("人可以吃饭");
}
public void sleep(){
System.out.println("人可以睡觉");
}
public void talk(String language){
System.out.println("人可以说话,使用的是:"+language);
}
}
。。。没保存
四、方法的声明格式:
修饰符 返回值类型 方法名(参数类型 形参1, 参数类型 形参2, ….){
方法体程序代码
return 返回值;
}
1.修饰符: public,缺省,private, protected等
2.返回值类型:
没有返回值:则方法声明时使用 void表示。没有返回值时,不用使用return,如果使用可以用return结束此方法意思。
有返回值,声明出返回值的类型。与方法体中“return 返回值” 搭配使用。
3.方法名:属于标识符,命名时遵循标识符命名规则和规范,“见名知意”
4.形参列表:可以包含0个,1个或多个参数。多个参数时,中间用“,”隔开
格式:数据类型1,形参1,数据类型2,形参2
5.返回值:方法在执行完毕后返还给调用它的程序的数据。