1.封装
-
该露的露,该藏的藏
-
程序设计要追求“高内聚,低耦合”,高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合是仅暴露少量的方法给外部使用。
-
通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这成为信息隐藏。
优点
1.提高程序的安全性,保护数据 2.隐藏代码的实现细节 3.统一接口 4.系统可维护性增加了
记住这句话------->属性私有 , get/set
2.继承
-
继承的本质是对某一批类的抽象
-
extends 的意思是“扩展”。 子类是父类的扩展
-
Java中类只有单继承,没有多继承 (一个儿子只能有一个父亲)
-
继承是类和类之间的一种关系。除此之外,类和类之间还有依赖、组合、聚合等
-
继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示
-
子类和父类之间,从意义上将应该具有“is a”的关系
3.多态
-
同一方法可以根据发送对象的不同而采用多种不同的行为方式
Student s1 = new Student(); //Person 父类,可以指向子类,但是不能够用子类独有的方法 Person s2 = new Student(); Object s3 = new Student();
-
一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(一般都是父类,有关系的类)
实际类型也就是例如 new Student( )这是确定的
-
多态存在的条件:
有继承关系
子类重写父类的方法
父类引用指向子类对象 Father f1 = new Son ( );
注意 :
多态是方法的多态,属性没有多态
父类和子类才能进行转换 否则会报类型转换异常 ClassCastException!
通过某些关键字修饰的方法无法进行重写 (如此也就不存在多态了)
1.static 方法,它属于类,不属于实例
2.final 常量
3.private 方法