1:final关键字A:它修饰的类,不能被继承。B:它修饰的方法,不能被重写。C:它修饰的变量,是一个常量。在局部变量中:a:基本类型 值不能发生改变 b:引用类型地址值不能发生改变,但是对象的内容是可以改变的
2:多态(1)同一个对象在不同时刻体现出来的不同状态。(2)多态的前提:A:有继承或者实现关系。B:有方法重写。C:有父类或者父接口引用指向子类对象。(3)多态的分类:a:具体类多态class Fu {}class Zi extends Fu {}Fu f = new Zi();b:抽象类多态abstract class Fu {}class Zi extends Fu {}Fu f = new Zi();c:接口多态interface Fu {}class Zi implements Fu {}Fu f = new Zi();
(4)多态中的成员访问特点A:成员变量编译看左边,运行看左边B:构造方法子类的构造都会默认访问父类构造C:成员方法编译看左边,运行看右边(方法重写)D:静态方法编译看左边,运行看左边(5)多态的好处:A:提高代码的维护性(继承体现)B:提高代码的扩展性(多态体现)
(6)多态的弊端:父不能使用子的特有功能。
(7)多态中的转型
向上转型:
Fu f = new Zi();
向下转型:
Zi z = (Zi)f; //要求该f必须是能够转换为Zi的。
ClassCastException:类型转换异常,一般出现在多态向下转型中。Dog dd = (Dog)a;(a是cat)
3:抽象类抽象类的特点A:抽象类和抽象方法必须用关键字abstract修饰B:抽象类中不一定有抽象方法(没有方法体),但是有抽象方法的类一定是抽象类C:抽象类不能实例化(new)(抽象类有构造方法,不能实例化,用于子类访问父类数据的初始化)
D:抽象类的子类:a:是一个抽象类。 b:是一个具体类。这个类必须重写抽象类中的所有抽象方法。 abstract不能和哪些关键字共存a:final 冲突b:PRivate 冲突c:static 无意义
4.接口
(1)接口的特点:A:接口不能实例化B:接口的实现类a:是一个抽象类。b:是一个具体类,这个类必须重写接口中的所有抽象方法。(3)接口的成员特点:A:成员变量只能是常量,并且是静态的默认修饰符:public static finalB:构造方法:没有构造方法C:成员方法:只能是抽象的,默认修饰符:public abstract
所有的类都默认继承自一个类:Object。(4)类与类,类与接口,接口与接口A:类与类:继承关系,只能单继承,可以多层继承B:类与接口:实现关系,可以单实现,也可以多实现。还可以在继承一个类的同时,实现多个接口C:接口与接口:继承关系,可以单继承,也可以多继承(5)抽象类和接口的区别:
A:成员区别抽象类:成员变量:可以变量,也可以常量构造方法:有成员方法:可以抽象,也可以非抽象接口:成员变量:只可以常量成员方法:只可以抽象B:关系区别类与类继承,单继承类与接口实现,单实现,多实现接口与接口继承,单继承,多继承 C:设计理念区别抽象类 被继承体现的是:”is a”的关系。抽象类中定义的是该继承体系的共性功能。接口 被实现体现的是:”like a”的关系。接口中定义的是该继承体系的扩展功能。新闻热点
疑难解答