面对对象思想3

继承的优点:1.提高了代码的复用性。

                      2.让类与类之间产生了关系,有了这个关系,才有了多态的特性。

JAVA只支持单继承,不过它支持多重继承。(多继承:造成了安全隐患:多个父类中定义了方法名相同的方法,内容却不同,子类不知道运行哪一个方法)

继承子父类的一些关系:

1.变量:如果子类中拥有非私有的同名成员变量时,子类要访问本类中的变量时用this.;子类要访问父类中的变量时用supe.。

2.子父类中函数:函数的覆盖(重写,保留父类功能原有的定义,并重写了定义中的内容)

                            注意事项:1.子类覆盖父类必须保证子类方法的权限大于父类方法的权限(public>默认>private)

                                              2.静态方法只能访问静态方法

    重载和重写的区别:重载只看同名函数的参数列表不同;子父类的重写方法要一模一样。

3.构造函数:子类的构造函数第一行隐藏了super();

                     子类是不能继承父类的构造函数:原因是,构造函数名必须和类名一致,所以为了保持方法“一模一样”,  则不可能成为构造函数,所以不可能。


为什么子类一定访问父类中的构造函数?

根本原因:子类中的所有构造函数中的第一行,其实都有一条影身的语句super();

解释原因:super()表示父类的构造函数并会调用于参数相对应的父类中的构造函数。子类中,它在调用父类中空参数的构造函数。因为子类继承父类,会继承父类中数据,所以必须要看父类是如何对自己的数据进行初始化的。所以子类在进行对象初始化时,先调用父类的构造函数,这就是子类的实例过程化。


this.()和super.()都必须在子类构造函数的第一行。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值