类的继承
来源:互联网 发布:企业起名软件 编辑:程序博客网 时间:2024/06/05 13:55
*调用父类的构造方法
子类不会继承父类的构造方法,但有的时候子类构造方法里需要调用父类构造方法的初始化代码。
Eg
class BaseClass
{
protected double size;
public BaseClass()
{
size=0;
System.out.println("Base类无参构造");
}
public BaseClass(double s)
{
size=s;
System.out.println("Base类有参构造");
}
}
public classSubClass extends BaseClass
{
private String color;
public SubClass()
{
color="blue";
System.out.println("Sub类无参构造");
}
public SubClass(String c,double d)
{
super(d);
color=c;
System.out.println("Sub类有参构造");
}
public static void main(String[] args)
{
SubClass sc1=new SubClass();
SubClass sc2=newSubClass("red",0);
}
}
当通过子类构造方法创建子类对象时,默认的先执行父类不含参数的构造方法,再执行子类构造方法。
要在子类中显示式调用直接父类参数的构造方法,可通过super()调用来实现。
注意:super调用和this调用很像,区别在于super调用的是其父类的构造方法,而this调用的是同一个类中重载的构造方法。因此,使用super调用父类构造也必须出现在子类构造执行体的第一行,所以this调用和super调用不会同时出现。
*子类构造方法的调用父类构造方法分如下几种情况:
1、子类构造分那个发执行体的第一行代码使用super调用里传入的实参列表调用父类对应的构造方法。
2、
子类构造方法执行体的第一行代码使用this显示调用本类中重载的构造方法,系统将根据this调用里传入的实参列表调用本类另个构造方法。执行本类中另一个构造方法时即会调用父类的构造方法。
3、子类构造方法执行体中既没有super调用,也没有this调用,系统将会在执行子类构造方法之前,隐式调用父类无参数的构造方法。
- c++类的继承:私有继承,公有继承,保护继承
- 类的继承 保护继承和私有继承
- C#类的继承-什么是继承
- 继承QVector----模板类的继承
- 类的一般继承与虚继承
- 继承:单继承、派生类成员的访问属性、多继承、菱形继承、虚继承,菱形虚拟继承
- java 类的继承
- 类的继承
- C#类的继承
- JavaScript类的继承
- C++ 类的继承
- 类的继承
- Java类的继承
- 类的继承
- 抽象类的继承
- 类的继承
- 类的继承用法
- 类的继承方式
- OK6410编译U_BOOT,使之支持DM9000AE(一)
- 当你输入一个网址的时候,实际会发生什么?
- 详细的单链表基本操作C/C++实现
- Delphi末落
- izeof的用法(附strlen函数)
- 类的继承
- 当你输入一个网址的时候,实际会发生什么
- actionscript垃圾回收机制 System.gc()
- addEventListener方法的认识
- Function 委托调用与this指针的变化
- MFC学习之路(一)CPropertySheet建立多属性页对话框的时候无法显示对话框
- flash简单的事件机制
- JDBC方式连接ORCL
- 给定ASCII码,输出对应字符