1、继承

1_1、属性  行为  构造方法

(1)、将多个类中相同的属性以及行为提取到另外一个类中,然后让这些类去继承另外一个类,从就拥有了这个类当中的属性以及行为

class A  extends B{}

(2)、A 继承了 B  B是A的父类 A是B的子类

1_2、继承的好坏处

A、好处:提高了代码的复用性,维护性,多态的前提。

B、坏处:提高了耦合性---开发原则 高内聚低耦合

1_3、继承的特点

A、java中继承只支持单继承,不支持多继承。一个类只能有一个爸爸

B、java支持多层继承

 继承、多态

1_4、成员变量在继承中的访问特点

A、变量名相同:就近原则

B、变量名不同:用谁就是谁

 

1_5、super

A、this--代表本类对象的引用

B、Super

(1)、代表父类的存储空间(可以理解为父类的引用)

(2)、继承是类与类之间的关系,与最终创建的对象无关

(3)、super.属性  super.行为 super(....)

1_6、构造方法

A、不可以被继承

B、创建子类对象的时候  会先执行父类的构造方法--创建子类对象的时候  会先执行父类的构造方法

C、private修饰的成员变量--不能够被直接继承而不是不能继承

D、创建子类对象的时候 子类构造方法的第一行默认会有一个 super() 去调用父类的无参构造。注意  super(...)只能在子类构造方法的第一行

 继承、多态

1_7、成员方法

A、子类中有用子类的

B、子类中没有找父类要

C、父类中也没有报错

1_8、方法重写注意事项

A、private修饰的方法不能够被重写

B、重写的方法的权限不能低于被重写的方法的权限

C、Public-->默认的权限  不写权限修饰符  就是默认的--default--->private

1_9、属性

A、就近原则

B、private修饰的属性不能够直接被继承。需要通过get与set访问

1_10、行为

A、重写

B、private修饰的方法不可以被重写

C、重写的方法权限不能小于被重写的方法

1_11、构造方法

A、不能够被继承

B、创建子类对象的时候,会先走父类的构造方法。用来初始化父类。

1_12、super

A、super.属性 super.方法 super(....)

 

2、多态

2_1、前提:有继承关系

2_2、格式:父类类型 对象名 = new 子类类型();

2_3、成员访问特点

A、属性---编译看左边 运行看左边

B、方法---编译看左边 运行看右边

2_4、好坏处

A、提高了扩展性

B、消除了不同子类之间的差异性,编写出通用代码,提高了代码的适用性。

C、具体体现:定义方法的时候,使用父类型作为参数,将来在使用的时候,使用具体的子类型参与操作。

D、弊端---不能使用子类中特有的方法

 继承、多态

2_5、向上转型

A、父类引用指向子类对象

2_6、向下转型

A、父子引用转成子类对象

B、不要瞎转,他原先是谁你才能转成谁

C、比如  动物 安倍 = new 狗();  你可以将 安倍强转成狗类的对象  因为  安倍就是狗 你不能将 安培强转成人

D、向下转型之前  这个对象肯定发生过向上的转型

E、ClassCastException 类型转换异常

F、通过向下转型  我们可以使用子类中特有的成员方法

相关文章: