java继承中的构造方法

关于继承中的构造方法之前心里有一些混乱,所以特别在此整理一下,希望对大家有所帮助!!

再说构造方法之前不得不说一下继承了,继承是什么呢?

继承:把一些大量重用的,一些公有的信息存放在一个单独的类中(即父类),子类调用其中的公有信息即可。

下面我们开始具体说一下构造方法。

1:----------------------------------------------------------------------------------------------

父类的无参构造方法之所以被执行,是因为java规定,子类在构造之前必须先构造父类

事实上,子类的构造方法中是必须要通过super关键字来调用父类的构造方法的,这样才可以保证妥善的初始化继承自父类的成员变量。

如果子类的构造方法中没有调用父类的构造方法,则java编译器自动的加入

代码示例:


   
   
  1. public TetrominoT(int row, int col) {
  2. super ( ) ;
  3.     cells[0] = new Cell(row, col);
  4.     cells[1] = new Cell(row, col + 1);
  5.     ……    
  6. }
super关键字必须位于子类构造方法的第一行否则会有编译错误

2:————————————————————————————————————————————

若父类没有提供无参的构造方法,则会出现编译错误

示例:


   
   
  1. class Foo { //父类
  2. int value;
  3. Foo(int value) {
  4. this.value = value;
  5. }
  6. }
  7. class Goo extends Foo { //子类
  8. int num;
  9. Goo(int num) {
  10. this.num = num;
  11. }
  12. }
针对上面的问题,可以有两种解决方案,

方案一:

在父类中添加无参的构造方法。

方案二:

在子类构造方法中显示调用父类的有参构造方法(常常使用),这样可以保证父类的成员变量均被初始化

代码如下:


   
   
  1. class Goo extends Foo {
  2. int num;
  3. Goo(int value, int num) {
  4. super(value);
  5. this.num = num
  6. }
  7. }
这是我第一次写博客,不足之处大家多多谅解,之后我会继续努力的,争取一天一个知识点!!!

谢谢大


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值