学习面向对象(OOP)编程的三条主线
1.java类及类的构成成分:属性 方法 构造器 代码块 内部类
2.面向对象的三大特征(封装性 Encapsulation,继承性 Inheritance,多态性 Polymorphism,(抽象性))
3.其他关键字
OOP:Object Oriented Programming
面向过程:procedure oriented programming
理解一:人开门
面向过程:人 打开 门
面向对象:
人{
打开(门){
门.开开();
}
}
门{
开开(){
}
}
理解二:人把大象装进冰箱
面向过程:1)打开冰箱 2)把大象放进去 3)关闭冰箱
面向对象:
人{
打开(冰箱){冰箱.开开()}
操作(大象){大象.进入(冰箱)}
关闭(冰箱){冰箱.合上()}
}
大象{
进入(冰箱){}
}
冰箱{
开开(){}
合上(){}
}
类与类之间的关系:
关联关系,继承关系,聚合关系
Field=属性=成员变量,Method=(成员)方法=函数
一、面向对象思想的落地法则一:
1.设计类,并设计类的成员(成员变量&成员方法)
2.通过类,未创建类的对象(也称作类的实例化)
3.通过“对象.属性”或“对象.方法”来调用,完成相应的功能
二、创建的多个对象,彼此各自拥有一套类的属性,当对其中一个对象的属性进行修改时,不会影响到其他对象的属性
//a3不意味着重新创建的一个对象,而是a1与a3公用一个对象实体
Animal a3=a1;
System.out.print("name"+a3.name+"age"+a3.age);
a3.name="维尼熊";
System.out.print("a1.name"+a1.name+"age"+a1.age);
三、类的属性(成员变量,Field)
成员变量vs局部变量
相同点:1.遵循变量的声明格式。数据类型 变量名=初始化值
2.都有作用域
不同点:1.声明的位置不同:成员变量:声明在类内,方法外
局部变量:声明在方法内,方法的形参部分,代码块内
2.成员变量的修饰符有四个:public private protected 缺省
局部变量没有修饰符,与所在的方法修饰符相同
3.初始化值:一定会有初始化值
成员变量:如果在声明的时候,不显式的赋值,那么不同数据类型会有不同的初始化值
byte short int long==>0
float double ==>0.0
char==>空格
boolean==>false
引用类型变量