父类和子类中对于构造函数的调用问题
来源:互联网 发布:浪潮粮食收购软件 编辑:程序博客网 时间:2024/05/17 03:19
- class
Father { -
int a, b; -
-
show() { -
System.out.println(a); -
} - }
-
- class
Son extendsFather { -
int c, d; -
-
Son( c, intd) { -
= c; -
= d; -
} - }
-
- public
class ConstructionTest { -
static void main(String args[]) { -
Son s = Son( 2,3); -
s.show(); -
} - }
输出结果0,说明子类的构造函数自动调用父类的无参构造函数,初始化父类的成员为0
2.如果父类中定义了无参构造函数,子类的构造函数会自动调用父类的构造函数
- class
Father { -
int a, b; -
-
Father() { -
System.out.println( done" ); -
} -
-
show() { -
System.out.println(a); -
} - }
-
- class
Son extendsFather { -
int c, d; -
-
Son( c, intd) { -
= c; -
= d; -
} - }
-
- public
class ConstructionTest { -
static void main(String args[]) { -
Son s = Son( 2,3); -
s.show(); -
} - }
输出结果:father done
0
说明重写了默认的无参构造函数,子类自动调用这个函数,父类的成员还是被初始化为0.
3. 如果定义了有参构造函数,则不会有默认无参构造函数,这样的话子类在调用父类的午餐构造函数的时候会出错(没有用super调用父类有参构造函数的情况下)
- class
Father { -
int a, b; -
-
Father( a, intb) { -
= a; -
= b; -
} -
-
show() { -
System.out.println(a); -
} - }
-
- class
Son extendsFather { -
int c, d; -
-
Son( c, intd) { -
= c; -
= d; -
} - }
-
- public
class ConstructionTest { -
static void main(String args[]) { -
Son s = Son( 2,3); -
s.show(); -
} - }
输出结果:
Exception in thread "main" java.lang.NoSuchMethodError: Father: method <init>()V
not found
at Son. <init>(Son.java:5)
at ConstructionTest.main(ConstructionTest.java:6)
总结:
1 任何类,都会调用父类的构造器
2 如果没写,则调用父类无参数的
3 否则必须手工写上调用哪个,且必须是第一行
- 父类和子类中对于构造函数的调用问题
- java文件传输基础:序列化中子类和父类构造函数的调用问题
- java 中关于子类调用父类构造函数问题
- c++中 子类父类的构造函数调用顺序
- 子类调用父类的构造函数
- 子类调用父类的构造函数
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C 中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 在C++中子类继承和调用父类的构造函数方法
- 抢攻苹果:三星计划在9月4日前推出巨屏手机和“iWatch 杀手”
- uva 10954 Add All(STL)
- 程序员实用的 MySQL sql 语句
- MyGui 3.2.0(OpenGL平台)的编译
- 你是想读书,还是想读完书?
- 父类和子类中对于构造函数的调用问题
- FSL
- 数据标准化基础及说明
- java设计模式之观察者模式
- 令人忧虑,不阅读的中国人
- HDU_4691 Front compression
- 01_Linux 目录结构和最常用的命令
- 拷贝构造函数 赋值构造函数 自动转型构造函数的调用
- 个人新闻转载:TPS是啥来的?租者置其屋计划o_0有?