ERHAIMOON_学习日志(day14)
Object类
Object类是java定义的API,该类表示所有类的最高层,Object类没有父类,也就是说该类所有的父类,如果一个没有显式继承父类,默认继承Object类,Object类中定义的属性和方法每个类都继承了
Object类中的重要方法
- equals()
- toString()
方法重写
子类从父类继承后,如果子类发现父类的方法不能满足子类的需要,此时子类可以重新在子类的类内再次定义一遍从父类继承的方法,这种重新定义父类方法的方式叫重写方法。
方法重写:override
方法重载:overload
- 方法重写的规则
- 重写方法与被重写方法必须有相同的方法名称
- 重写方法与被重写方法必须有相同的参数类型
- 重写方法的返回值类型必须和被重写方法的返回值类型相同或是其子类
- 重写方法不能缩小被重写方法的访问权限
方法重写与方法重载的区别
- 重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同,与返回值类型无关
- 重写设计的是子类与父类之间的同名方法,要求方法名相同,参数列表相同,与返回值类型相同
继承中的protected
protected是访问修饰符,是专门为继承而设计的访问修饰符。protected修饰的属性或方法在同包或者子类中可以被访问。
多态
多态是面向对象的特征之一
多态是啥?
多态是多种形态,是指同一个行为有多种表现。
多态:父类的引用指向子类的实例
- 当父类的引用指向子类对象后,在父类引用调用方法时
- 只能调用子类从父类继承的方法或者被子类重写的方法
- 父类不能调用子类新增的方法,因为父类无法知道子类新增了什么方法。
- 父类引用指向子类对象时需要类型转换
多态存在的条件
- 多态一定存在于继承关系中
- 多态一定存在与方法重写中
- 多态一定存在于父类引用指向子类对象中,父类引用指向那个子类就能调用哪个子类的方法
- 方法重写实现了多态
instanceof运算符
if(pet instanceof Cat){
Cat cat=(Cat)pet;
cat.climbTree();
}
instanceof运算符用于判断一个引用是否指向某个类的实例,返回boolean值。
近期评论