面向对象第十课,继承,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("建一个鸟对象");
}
}
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("建一个鸟对象");
}
}
相关文章推荐
- 面向对象的重要特征--继承
- 面向对象中关于继承的调用
- java学习之旅41--面向对象_14_继承_super_构造器的调用_继承的内存分析(非常重要)
- 面向对象银角大王补充2-self就是调用当前方法的对象-静态字段,公有属性-封装的理解-继承的理解,普通方法,静态方法
- 面向对象第八课,面向对象三大基本特征,继承,基本概念(重要)
- 41_面向对象_14_继承_super_构造器的调用_继承的内存分析(非常重要)
- JavaScript 面向对象程序设计(下)——继承与多态
- ASP.NET AJAX的面向对象思想--访问修饰与继承
- 面向对象基础知识(二)-类的继承
- JavaScript 面向对象程序设计(下)——继承与多态
- 关于javascript语言的继承、面向对象问题的文章
- 面向对象的设计法则(1)——优先使用(对象)组合,而非(类)继承
- JavaScript的面向对象机理2)-继承
- c#面向对象中的继承初步认识
- Delphi面向对象学习随笔四:继承与封装
- 【转】使用组合替代继承(面向对象软件设计的“开—闭”原则 )
- java面向对象思想之继承、多态
- (转)JavaScript 面向对象程序设计(下)——继承与多态
- 面向对象中的合成(Composition)和继承(Inheritance)关系
- JavaScript 面向对象程序设计(下)——继承与多态