子类,父类默认构造函数及带参构造函数的调用

原创 2016年08月31日 16:46:26

*在子类,父类默认构造函数及带参构造函数的调用:
如下程序,在父类,子类中均存在两种构造函数,一种是无参的构造函数,用于给一些属性提供默认值,一种是直接初始化某些属性;在子类进行继承时,子类构造函数对父类进行引用:
1.父类构造函数必须放在子类构造函数的第一行。
2.当父类中不存在构造函数时,系统会为父类自动生成一个无参的构造函数,且在子类构造函数的第一行默认调用。也可手动进行调用。
3.当父类存在无参的构造函数时,在子类中的调用情况与2中一致
4.当父类中存在带参的构造函数时,系统就不会再为其生成无参构造函数,因此子类的构造函数中必须手动调用带参的构造函数,否则系统会默认想要调用无参构造函数,结果不存在,报错。因此我们知道:父类中可以不存在无参构造函数,但是在子类构造函数中必须手动调用带参构造函数,否则报错。
5.当子类不显示调用父类哪个构造函数时,系统默认调用父类无参构造函数
6.如果主程序调用子类带参构造函数,而子类构造函数没有指定父类构造函数的调用,默认调用父类无参构造函数。
7.在主程序对子父类构造函数进行调用时,默认均调用无参构造函数,除非指定带参构造函数。

class SuperClass{
private int age;
private String name;
public SuperClass(){
age=0;
name="aa";
}
public SuperClass(int age,String name){
this.age=age;
this.name=name;
}
public void getAge(){
System.out.println("年龄为:"+age);
}
public void getName(){
System.out.println("姓名为:"+name);
}
}

class ThisClass extends SuperClass{
public ThisClass(){
//super();
super(18,"java");
}
}

public class ClassMain{
public static void main(String[] args){
ThisClass tc=new ThisClass();
tc.getAge();
tc.getName();
System.out.println("Over!");
}
} 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

关于父类没有缺省的构造函数时,子类如何建立构造函数

关于父类没有缺省的构造函数时,子类如何建立构造函数 我们都知道,在类定义了带参数的构造函数后,便不再提供默认构造函数,但是子类的构造函数需要父类的缺省构造函数才能定义,否则编译时将会出错,这时有两种...

在C++中子类继承和调用父类的构造函数方法

构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法)。因此,在创建子类对象时,为了初始化从父类继承来的数据成员,系统需...

C++ 子类继承带参的父类构造函数应该怎么写

参考:http://tieba.baidu.com/p/1167962877 一,父类没有写出构造函数, 子类的构造函数可以写成“任何”形式而不用顾及父类的构造函数。 例如:父类为CA,子类为C...

在子类中调用父类的带参数的构造函数

animal类的构造函数,增加两个参数height和weight,分别表示动物的高度和重量。代码如例2-13所示。   例2-13 双击代码全选 1 ...

Java子类构造函数中默认调用父类的空参构造函数

测试代码如下: 父类: public class ParentTest { public ParentTest(){ System.out.println(1); } public...

C++中子类构造函数写法总结

C++ 父类 子类 构造函数

C++ 类缺省构造函数调用带参数的构造函数

今天在看《effective C++:55 第三版》条款18:80页的时候,看到用外覆类型定义类型参数的例子: class Month{ public: static Month Jan()...

子父类中构造函数的特点

1.在对子类对象进行初始化时,父类的构造函数也会运行。因为子类的构造函数默认第一行有一条隐式的语句super()。 super():会访问父类中空参数的构造函数,而且子类中所有的构造函数默认第一...

Java构造函数之调用父类构造函数

子类可以通过super关键字来显式地调用父类的构造函数。 当父类没有提供无参数的构造函数时,子类的构造函数中必须显式的调用父类的构造函数; 如果父类提供了无参数的构造函数,此时子类的构造函数就可以...

何时子类必须显示调用父类带参构造函数

子类显示调用父类带参构造函数
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:子类,父类默认构造函数及带参构造函数的调用
举报原因:
原因补充:

(最多只允许输入30个字)