【第22期】观点:IT 行业加班,到底有没有价值?

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

原创 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!");
}
} 
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Delphi构造函数和析构函数

 Delphi构造函数和析构函数 2013-08-20 16:31 287人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: ...

Java多态 实例子类自动调用父类为空的构造方法 成员变量不支持Override 可写,没多态效果

=======子类 实例化的时候 默认调用父类为空的构造方法 即super();可省略。   但是当父类没有为空的构造方法的时候就必须在子类中       调用这个方法先实例父类 才能实例子类。 父...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

关于子类对象的构造函数和父类构造函数的执行顺序

我们分别为父类和子类添加显式的构造函数,代码如下 01 class Person 02     { 03         private ...

有关子类构造函数的问题

如果父类自定义了有参构造函数,则子类无论定义构造函数与否,定义有参构造函数与否,都会报错,正确的做法是在子类的构造方法中添上super(参数),以表明子类构造之前先构造父类,而这句话必须放在第一句,否...

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

C++ 父类 子类 构造函数

C++继承中关于子类构造函数的写法

转载于:http://www.cnblogs.com/kaige/p/cplusplus_virtual_inheritance_derived_class_constructor.html 构造方法...

C++_子类与基类的构造函数问题

1.若一个类提供构造函数,则该类就不提供默认的构造函数。 2.派生类会默认调用基类的无参构造函数 #include #include class CPoint{ public: CPoin...

子类继承父类,构造函数的特点 super()

在对子类进行初始化时候,父类的构造函数一定会运行 因为子类的构造函数第一行里面有个隐式语句super();子类的所有构造函数默认第一行都有句super(); 子类调用父类构造函数super(参数),子...

C++继承中关于子类构造函数的写法

在继承中 一,父类没有写出构造函数, 子类的构造函数可以写成“任何”形式而不用顾及父类的构造函数。 例如:父类为CA,子类为CB,父类中没有写出任何构造函数,则子类中可以不写构造函数,或者构造函...

子类与父类构造函数顺序,包括静态…

说下子父类构造函数的调用 创建子类的时候,先检查父类是否有静态的属性,如果有,则先调用静态属性的语句,然后检查子类是否也有静态类型属性,有,则调用子类的静态类型,然后在调用父类普通变量,构造函数,然...
  • ylf13
  • ylf13
  • 2013-10-10 12:46
  • 664
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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