总结java继承中应注意的问题

刚刚学习了继承,记录下我觉得继承中我们应该注意的问题.
什么继承是使用extends来实现的,这种问题记录下来是不是有点降低哥的IQ呢?哈哈,所以这些基础语法就不记录咯.下面开始吧:
1.在学习java中,我们应该要知道所有类的超类都是object类,这样说的意思就是说,所有的类都包含了object这个类的成员,所以

我们在编码的时候要恰当的利用这个类中的成员.大家有时间还是多去看看帮助文档,了解下这个object类.我简单的说说这个类

吧.
在这个类中有一个无参的构造方法,大家是不是在想,既然所有类是继承object类,而我们知道在继承的概念里,是不能继承父类的

构造方法的,为什么还要提供这样一个构造方法呢?这里就引发出了另一个问题了,在继承当中虽然不能继承父类的构造方法,但是

我们创建子类对象,在调用子类构造方法的时候,这个时候是先去调用父类的构造方法,大家想想,这个时候如果父类没有构造方法

,那程序会出现什么样的错误?这里编译使不能通过的,这就是object里的无参构造方法存在的意义.
在object里面有一个很常用的方法toString();这个方法默认是返回对象的 包名.类名+@+hashCode码,具体实现是:getClass

().getName() + '@' + Integer.toHexString(hashCode()) ; 这个实现对我们来说是没用意义的,所以一般我们在使用的时候是

重写这个方法.
在object里面还有一个常用的方法equals();这个方法用于比较指示某个其他对象是否与此对象“相等”.
另一个就是getClass();这个用于返回一个对象运行时的类的模版,也就是所谓的反射机制.
其他的方法,需要做了解,至少在需要的时候能查到.

2.继承中需要注意的第二点:
如果B继承于A,且C继承于B,且满足B IS-A A,C IS-A B的关系,那么这时候的C也具有了A当中的成员,这里因该考虑的问题是

private修饰的是不能被继承的.

3.在继承的时候我们应该尽量少使用protected(受保护的),虽然protected最大权限是父类和子类的关系可以访问,但是同一个包

中还是可以访问的,为了尽量完善程序的封装性,所以尽量少使用.

4.继承:使得相同的代码可以在不同类型之间得到复用.

多态:使得不同的代码可以以一种相同的方式得到调用.

继承可以做为复用的手段,但这不是继承的最大意义,继承的最大意义在于封装变化的代码,将变化的代码和不变的代码进行剥

离,使得代码的维护性,扩展性,重用性得增强.

继承分为extends和implements.

在子类重写方法时,要注意到这有可能是在修改父类,违背LSP. 子类应该进可能去实现一个抽象方法,而不是去重写一个具体

方法.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值