继承extendd
JAVA只有单继承没有多继承只有一个直接父类
接口可以多继承,类不能
如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object.
查看类的继承结构层次:
ctrl+t也可以直接看
instanceof运算符
是二元运算符,左边是对象,右边是类;当对象是右边类或者子类创建的对象时,返回ture ,否则返回false
System.out.println(stu2 instanceof Student);
判断stu2是否是student类或者子类所创建的对象
override(覆盖
方法的重写:子类重写父类
注意和方法的承载不要混淆
注意的问:
- 方法名,形参列表相同
- 返回值类型子类小于等于负类
- 访问权限子类大于等于父类
Object类
object类是所有java类的根基,所有方法都可使用
1.tostring方法的重写
2.equals方法的重写
- “==“:代表比角双方是否想相同
- equals:比较对象内容是否相同
public boolean equals(Object OBJ)
3.super父类对象的引用
是直接父类的引用,可以通过super来访问父类中被子类覆盖的方法或属性
封装
高内聚,低耦合:
(在内部把细节处理好,用简单的方式调用)
封卓的访问权限:
- private:只有自己可以看到
- default:没有修饰符,只有同包的类可以看到
- protected:同包的类和其他包的子类
- public:该项目中的所有包中的所有类
封装的使用细节:
javabean:一些普通的方法
类的属性处理
- 一般使用private访问权限
- 提供相应的get/set方法,一般使用public,以便读取。
- 希望其它类调用的用public
// 可以在相应的方法中实现不同的操作。(实现不同的控制)
多态
同一方法调用,由于对象不同可能有不同行为。
- 多种状态(方法的多肽,不是属性的多态)
- 多态条件:继承,方法重写,弗雷引用子类对象
- 父类引用指向子类对象后,用改父类引用调用子类重写方法,此时多态就出现了
对象的转型casting
向上转型,向下转型(强制类型转换,类类型转换)
final关键字
可以修饰
- 变量(变成常量)
- 方法(不能被重写可以被重载)
- 修饰类(不能被继承)