class SuperClass
{
int i;
/*this(int n)
{
i = n;
}*/
/*
TestSuperSub.java:4: 错误: 非法的类型开始
this(int n)
^
1 个错误
*/
SuperClass()
{
System.out.println("SuperClass()");
}
SuperClass(int i)
{
this.i = i;
System.out.println("Super:i="+this.i);
}
}
class SubClass extends SuperClass
{
SubClass()
{
System.out.println("SubClass()");
}
SubClass(String str)
{
super();
System.out.println(str);
}
}
public class TestSuperSub
{
public static void main(String[] args)
{
SubClass sub = new SubClass();
SubClass sub1 = new SubClass("Sub");
}
}
/*
总结:
1.有继承关系时,extends关键字不能省略
2.继承中的构造函数
1)子类的构造函数的第一句一定是父类的构造函数(隐式的或者显式的)
2)super子句一定位于子类构造函数的第一句
3.this不能用于构造函数中替代类名
4.构造函数
1)普通类中的构造方法
隐式或者显式
2)继承类中的的构造方法
不仅有自己的,还有一个父类的(隐式或者显式)
为何子类中一定得有父类的构造函数呢?
因为子类从父类那继承了一个父类对象
只要是对象,都要通过构造函数进行初始化
*/
相关文章
- js中的4种函数调用模式:函数调用、方法调用、构造器调用、间接调用
- Java中Object类的equals()和hashCode()方法深入解析
- 重写Object类中的Equals方法(Java)
- Java中类与方法的学习笔记(一):
- 学习effective java-4创建和销毁对象之利用私用构造方法强化类的非实例化
- [Effective Java Distilled] Item 4 通过私有构造方法来加强化不可实例化的性质
- 【Java学习笔记】Java中关于tostring方法的误操作
- 【JavaScript】19_面向对象中的方法和构造函数
- 【JAVA】java中实现map集合的数据存取详解三种方法。Android程序员也是要会写的
- JAVA高新技术反射机制的原理之构造函数、普通方法和字段