Chinaunix首页 | 论坛 | 博客
  • 博客访问: 269838
  • 博文数量: 88
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 840
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-20 21:13
文章分类

全部博文(88)

文章存档

2022年(1)

2017年(1)

2016年(2)

2015年(1)

2014年(83)

分类: Java

2014-05-01 17:44:24

今天突然想到JAVA中类的构造器是否可以被继承?还有JAVA类中哪些成员或函数是可以被继承的?
在网站查了很多资料,大家莫衷一是。但是我自己思考后,觉得JAVA中构造器是不可以被继承的。

首先得理解,继承和override(重写)不是一回事。
父类被子类继承的部分才有可能被重写。假如根本就没有被继承,自然就不存在重写了。

那么继承至少是有一个特点,比如方法,方法名肯定得是一样的。但是我们看构造函数,必定与所在类的类名是相同的,既然子类的类名和父类不同,那么构造方法自然就不是继承过来的了。而所谓的默认构造方法,则是编译器自动赋予的,但不论如何,构造方法的名与类名是相同的。所以,JAVA类中无论如何,子类都是不会继承父类的构造方法。
既然没有所谓的继承,那么重写也就不存在了。
所以,JAVA类中,子类不能继承父类的构造方法,也不存在所谓的重写。

至于,在子类中用super()调用父类的构造方法,这只是构造子类对象时先要调用父类构造函数的必须步骤,并不是所谓的继承!
阅读(1727) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~