您的位置:首页 > 其它

面向对象第十课,继承,super构造器的调用,继承的内存分析(重要)

2015-02-10 16:06 316 查看
super关键字

super是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性。

普通方法:没有顺序限制。可以随便调用

构造函数中:任何类的构造函数中,若是构造函数的第一行代码没有显示调用super();那么java默认都会调用super();作为父类的初始化函数。所以这里super();加不加都无所谓。

super在构造方法里,第一句话总是super(),自己不加,java系统也会自动给你加上;

通过super()调用父类的构造器,父类总是有构造器的

简单理解,只要我有父类(除object之外都会有父类),我就会继承我的父类对象里面的属性、方法我都可以调用,如果没有,父类在往上找父类,直到找到位置!!

package com.pkushutong.TestObject;

public class DemoObject {

String eye;

public void run() {
System.out.println("跑跑!");
}

public void eat() {
System.out.println("吃吃!");
}

public void sleep() {
System.out.println("zzzzz");
}

public DemoObject() {
super();
System.out.println("创建一个动物!");
}

}

class Mammal extends DemoObject {

public void taisheng() {
System.out.println("我是胎生");
}

}

class Bird extends DemoObject {
public void run() {
super.run(); //查找父类的run方法
System.out.println("我是一个小小小小鸟,飞呀飞不高");
}

public void eggSheng() {
System.out.println("卵生");
}

public Bird() {
super(); //super是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性。
System.out.println("建一个鸟对象");
}
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: