2020.12.9
2020.12.9
1.Object类
Object类是java定义API,该类表示所有类的最高层,Object类没有父类,也就是说该类是所有类的父类,如果一个类没有显示继承父类,默认继承Object类。Object类中定义的属性和方法每个类都继承了。
Object类中重要的方法
- equals()
- toString()
2.方法重写
子类从父类继承后,如果子类发现父类的方不能满足子类的需要,此时子类可以重新在子类的类内再次定义一遍从父类继承的方法,这种重新定义父类方法的方式就叫方法重写。
- 方法重写:override
- 方法重载:overload
2.1方法重写的规则
2.2方法重载与方法重写的区别
- 重载涉及同一类中的同名方法,要求方法名相同,参数列表不同,与返回值类型无关。
- 重写涉及的是子类与父类之间的同名方法,要求方法名相同、参数列表相同、与返回值类型相同。
3.继承中的protected
protected是访问修饰符,是专门为继承而设计的访问修饰符。protected修饰的属性或方法在同包或者子类中可以被访问。
例如:
package cn.itlaobing.oop;
public class Person{
protected String name;
}
package itlaobing;
import cn.itlaobing.oop.Person;
public class Worker extends Person{
public static void main(String[] args){
Worker w=new Worker();
}
}
w.name="dd";//Worker类与Person类不在同一个包中,但是worker类是Person类的子类,而Person类中的name属性是protected访问修饰符修饰的,因此在子类worker中可以访问name属性。
4.多态
1.什么是多态?
多态是指调用同一个方法可能有多种输出结果,每一个结果就是一种形态
2.多态的重点
- 当父类的引用指向子类对象后,在父类引用调用方法时,只能调用子类从父类继承的方法或者被子类重写的方法(父类知道子类中有什么方法就能调用什么方法)
- 父类不能调用子类新增的方法,因为父类无法知道子类新增了什么方法
- 如果子类重写了父类的方法,那么父类引用调用的就是子类的方法(父类引用指向哪个子类就调用哪个子类的方法)
- 父类引用指向子类对象时需要类型转换
- 父类引用=子类对象,不需要强制转换
- 子类引用=父类对象,需要强制转换
3.多态的特点
- 多态一定存在于继承关系中
- 多态一定存在于方法重写中
- 多态一定存在于父类引用指向子类对象中,父类引用指向哪个子类就能调用哪个子类的方法
- 方法重写实现了多态
4.类与类之间有三种关系
- is a (公共汽车 is a 汽车)继承关系,表名子类与父类是同一种类型
- use a 人 use a 铁锹
- has a 人 has a 胳膊
5.instanceof运算符
例如:
if(pet instanceof Cat){
Cat cat=(cat)pet;
cat.ClimbTree();
}
instanceof运算符用于判断一个引用是否指向某个类的实例,返回boolean值。
近期评论