学习内容:
学习内容:
多态:
一个特定类型的变量,可以引用不同类型的对象,并且能自动调用引用对象的方法,也就是说能够根据引用对象的不同,响应不同的操作
Pet p = new Dog();//Dog对象
父类的变量赋值给子类的对象
在多态中,变量引用的是哪个对象,就执行的是哪个对象中相对应的方法
向上转型:
由子类转换为父类类型,父类引用指向子类对象
①父类引用只能调用父类中的方法,子类继承自父类中的方法/重写的方法
②父类引用不能调用子类的方法
向下转型:
由父类转化成子类类型,必须进行强制类型转换。
首先要判断是否属于强转类型(instance of )如果不属于则会报错java.lang.classcastexception
instance of 运算符左边是一个对象,右边是一个类名,可以检查是否具有继承关系,以及implement实现关系
实现多态 的条件:
要有继承类
父类引用指向子类对象
子类要重写父类的方法
父类出现的地方,子类都可以出现
抽象类abstract:
定义:在java中,当一个类被关键字abstract修饰时,这个类被称为抽象类
当一个类的方法被abstract修饰时,叫做抽象方法
当一个方法被定义抽象方法之后,意味着该方法没有具体的实现,即没有方法体,
而是在抽象类的子类中通过方法重写实现
一个类中,只要含有抽象方法这个类就一定是抽象类,但是抽象类不一定含有抽象方法。
定义一个抽象类:
public abstract class 类名{
修饰符 数据类型 变量名;
修饰符 abstract 返回值类型 方法名称(参数列表);
修饰符 返回值类型 方法名称(参数列表){
}
}
注意点:
①private不能用来修饰抽象方法,否则由于封装导致子类无法重写抽象方法
②抽象类不能被实例化,因为抽象类中的抽象方法是没有方法体的,导致抽象类不是完整的类
,因此不允许被实例化
③子类如果不是抽象类,则子类必须全部重写抽象类中的全部抽象方法
④abstract修饰符不可以和final一起使用
学习心得:
这两天想着要放假了,心情浮躁,这样并不好,明天最后一天,要继续加油,知识点上要背记理解的太多了
国庆放假实现弯道超车,放假前老师把资料发下,冲
近期评论