- class Fu
- {
- Fu()
- {
- System.out.println("Fu run");
- }
- }
- class Zi extends Fu
- {
- Zi()
- {
- //super();隐性语句
- System.out.println("Zi run");
- }
-
- Zi(int x)
- {
- //super();隐式语句
- System.out.println("Zi=="+x);
-
- }
- }
- class Demo
- {
- public static void main(String[] args)
- {
- Zi z = new Zi();
- Zi z1 = new Zi(4);
-
- }
- }
复制代码 如上程序所示:
1. 当子类继承父类时,如果父类中有自定义无参数的的构造函数,
那么是不是子类中在没有指定访问父类带参数的构造函数时,每一个子类的构造函数的第一行都有一个隐式的super();语句?
是不是写不写该语句效果是一样的?
2. 如果当子类中没有自定义的无参数构造函数,也就是说有默认构造器Fu(){},那么子类中还有没有这个隐式的super();?
是不是要手动的指明索要继承的构造函数?
希望就this,super,默认隐式构造函数,自定义无参数构造函数,有参数构造函数的知识,给予解答...
|