java 类继承构造函数 java 继承 构造函数

您所在的位置:网站首页 课程类型a类b类c类 java 类继承构造函数 java 继承 构造函数

java 类继承构造函数 java 继承 构造函数

2023-06-01 23:03| 来源: 网络整理| 查看: 265

1. 继承中构造函数的调用顺序

   先调用父类构造,再调用子类构造

   原因:  必须要先给父类分配空间,这样子类才可以继承

   注意事项:

                   a.对于父类的变量,子类继承,但是是有自己的空间

                   b.静态变量不继承,是存在于Java虚拟机分配的数据空间里

                   c.构造函数也不继承

2.关于super关键字

当父类拥有无参构造时,子类的构造函数可以不写什么,默认调用;

当然也可以通过super()调用。

e.g:

package com.xiyou.weijie.chap5; public class Base { protected int a; public Base() { System.out.println("Base无参构造"); } public Base(int a) { this.a = a; System.out.println("Base有参构造"); }

}

package com.xiyou.weijie.chap5; public class Child extends Base{ private int b; public Child() { /* * 这里不写任何语句,但是会隐形的调用父类的无参构造 * super();这样是显性调用 */ System.out.println("Child无参构造"); } public static void main(String[] args) { // TODO 自动生成的方法存根 Child c=new Child(); } }

如果父类只有有参构造函数,子类必须显性super(实参表)写构造函数

e.g:

package com.xiyou.weijie.chap5; public class Base { protected int a; public Base(int a) { this.a = a; System.out.println("Base有参构造"); } }

package com.xiyou.weijie.chap5; public class Child extends Base{ private int b; public Child() { super(14);//如果这里不写,报错 System.out.println("Child无参构造"); } public static void main(String[] args) { // TODO 自动生成的方法存根 Child c=new Child(); } }

3.super关键字其他使用

a.调用父类同名被隐藏的成员变量

   方式:  super.变量名

b.调用父类同名被覆盖的成员方法

    方式:super.方法名()

e.g:

package com.xiyou.weijie.chap5; public class Base { protected int a; public Base(int a) { this.a = a; System.out.println("Base有参构造"); } public void showBase() { System.out.println("Base.showBase()"); } }

package com.xiyou.weijie.chap5; public class Child extends Base{ private int a; public Child(int a) { super(14);//如果这里不写,报错 this.a=a; System.out.println("Child无参构造"); } public void showBase() { System.out.println("super.a:"+super.a); } public void showChild() { System.out.println("a:"+a); } public void show() { super.showBase(); } public static void main(String[] args) { // TODO 自动生成的方法存根 Child c=new Child(10); c.showBase(); c.showChild(); c.show(); } }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3