java基础班---10--12

继承

java只支持单继承,不支持多继承

支持多重继承

继承的成员变量的特性:super访问父类的,this访问自己的

子类方法重写父类方法,和成员变量调用方式一样

扫描二维码关注公众号,回复: 2537237 查看本文章

子类重写:必须保证子类权限大于等于父类权限

public》 protected》default》private

抽象方法:多个方法的共性向上抽取。没有方法体

抽象方法必须定义在抽象类中

抽象类不能实例化,不能new

抽象类可以不定义抽象方法,只定义普通方法

abstract不可以和private和final和static共享

自动生成get和set方法

子类调用父类的成员变量和成员方法借助super

接口:全是抽象方法,特殊抽象类

接口的固定格式:变量和方法

接口中成员变量的特点

接口中的常量可以直接被类名和接口名调用,不能修改其值

接口中成员方法的特点:

接口中的 public abstract可以省略,但是实现的方法中不可以省略public

接口中可以有多实现,没有继承中的安全隐患

类可以再继承类的同时实现多个接口

接口之间可以有多继承

接口和抽象类的相同点和区别

多态:基于继承或者接口

调用的是子类重写的show

多态调用的三种形态:继承普通类、继承抽象类、实现于接口

多态中成员变量和方法的特点

成员变量:编译运行全看父类

成员方法:编译看父类,运行看子类

instanceof运算符用于判断引用类型变量

只能用于判断之间有继承关系的类

向上转型Fu f=new Zi()

孔子帮他爹去上课也是教论文

向上转型的好处:可以调用两者共有的方法

坏处:不能再调用子类的特有方法,这里就必须使用向下转型

为了调用子类中特有的函数,必须向下强制转型

向下转型先借助instanceof判断

借助USB接口和多态实现鼠标键盘应用代码

构造方法:在创建对象的时候赋值

构造方法无返回值,void也不用写,在new的时候只运行一次

如果没有会自动创建一个空参数的构造函数

构造函数的作用:在创建对象的时候为对象赋值

构造方法的重载

this关键字在构造方法之间的互相调用

重点:this必须为构造函数的第一行

没重名的this可以省略

借助super执行父类的构造函数,子类构造函数中默认有一个super()

这里是为了查看父类是怎么初始化的

父类构造方法是有参数的,子类构造方法是无参数的,就会报错,子类中必须用带参数的super(声明)

且子类中有几个构造方法,就声明几个super(参数)

子类构造函数this和super必须都在第一行,,当啥也不写时,默认隐式有一个super

把子类的初始化过程传给父类去完成,自己就不用定义name和age这些私有变量了

根据下面图编写员工类代码,把变量和方法定义都抽象到了父类

猜你喜欢

转载自blog.csdn.net/qq_34514046/article/details/81319090