学习内容:

学习内容:

多态:

一个特定类型的变量,可以引用不同类型的对象,并且能自动调用引用对象的方法,也就是说能够根据引用对象的不同,响应不同的操作

Pet p = new Dog();//Dog对象

父类的变量赋值给子类的对象

在多态中,变量引用的是哪个对象,就执行的是哪个对象中相对应的方法

向上转型:

​ 由子类转换为父类类型,父类引用指向子类对象

①父类引用只能调用父类中的方法,子类继承自父类中的方法/重写的方法

②父类引用不能调用子类的方法

向下转型:

​ 由父类转化成子类类型,必须进行强制类型转换

首先要判断是否属于强转类型(instance of )如果不属于则会报错java.lang.classcastexception

instance of 运算符左边是一个对象,右边是一个类名,可以检查是否具有继承关系,以及implement实现关系

实现多态 的条件:

要有继承类

父类引用指向子类对象

子类要重写父类的方法

父类出现的地方,子类都可以出现

抽象类abstract:

​ 定义:在java中,当一个类被关键字abstract修饰时,这个类被称为抽象类

当一个类的方法被abstract修饰时,叫做抽象方法

当一个方法被定义抽象方法之后,意味着该方法没有具体的实现,即没有方法体,

而是在抽象类的子类中通过方法重写实现

一个类中,只要含有抽象方法这个类就一定是抽象类,但是抽象类不一定含有抽象方法。

定义一个抽象类:

public abstract class 类名{

修饰符 数据类型 变量名;

修饰符 abstract 返回值类型 方法名称(参数列表);

修饰符 返回值类型 方法名称(参数列表){

}

}

注意点:

​ ①private不能用来修饰抽象方法,否则由于封装导致子类无法重写抽象方法

​ ②抽象类不能被实例化,因为抽象类中的抽象方法是没有方法体的,导致抽象类不是完整的类

,因此不允许被实例化

​ ③子类如果不是抽象类,则子类必须全部重写抽象类中的全部抽象方法

​ ④abstract修饰符不可以和final一起使用

学习心得:

这两天想着要放假了,心情浮躁,这样并不好,明天最后一天,要继续加油,知识点上要背记理解的太多了

国庆放假实现弯道超车,放假前老师把资料发下,冲

标签

评论

this is is footer