java 8 ----类的继承

在类的继承中可以继承父类中的pubic、protected类型的states与method

1、子类可以使用父类中的变量

2、可以定义与分离中相同的变量,隐藏父类的类型。

3、也可以定义新的变量

 

4、子类中可以继承父类的实例化methed

5、子类中可以重新定义与父类同样的实例化method,覆盖掉父类的method

6、对静态method,可以重新定义用于隐藏掉父类的method

7、可以重新定义method

Ps:继承的时候,不能改变缩小访问类型,可以扩大访问类型。另外静态变量域非静态之间不能相关转化。

 

类可以向父类转换,你向是不可行的。可以采用isinstance检测是否是子类,进行类型检测。转换时可以的,但是在调用函数的时候会报编译错误,寻找不到相应的函数。

java不支持类的多重继承,原因主要是多个父类的state没有不容易管理,与初始化。允许实施多个接口,接口中不会存在states。

1、当父类的中的非静态函数,与接口的中的default函数与abstract函数相同的时候,接口中的函数会覆盖掉。

2、接口中存在覆盖函数时,以覆盖函数为准

3、当接口中的函数为不相关的时候,函数相同的时候会报错,解决方法为覆盖相关函数,在函数中调用需要的函数,调用方法为:

        FlyCar.super.startEngine(key);
        OperateCar.super.startEngine(key)

 

多态性:

    子类具有父类的一些特种,所以具有共性,但是共性之中具有多态性。

 

super:

1、调用被覆盖的函数

2、调用被隐藏的函数

3、调用super()函数,父类的构造函数,卸载构造函数的开始位置。如果没有显示的调用super函数,系统会自动的隐式调用。所有的类都是从object中继承出来的。

 

Object类介绍:

考虑到所有类都是直接或者间接从Object类中继承的,在Object中有一些通用的函数。Object类在java.lang中有定义比价通用的函数:

1、复制函数,类必须实施Cloneable interface接口,否则会有异常。当类中有对边引用变量的时候,所复制的类非独立的。如果这样的需要重载覆盖。

protected Object clone() throws CloneNotSupportedException

2、相等,是说两个引用是否相等,相当于操作符号==。当为基础数据类型的时候,比较的是他们的值

public boolean equals(Object obj)

当对它进行覆盖是,需要重新hancode

3、protected void finalize() throws Throwable

在垃圾收回时调用的函数,主要不要特别依赖这个函数,不一定调用到。-----原因未知

4、public final Class getClass()

返回class对象。class对象包含很多函数,相当于class文件。getSimpleName();getSuperclass();getInterfaces();isAnnotation();isInterface();isEnum();getFields();getMethods()

5、public int hashCode()代表函数的地址

6、public String toString()字符输出对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值