首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

承继中的super和this关键字学习

2012-09-20 
继承中的super和this关键字学习class FatherClass {public int valuepublic void f() {//5、FatherClass的

继承中的super和this关键字学习

class FatherClass {    public int value;    public void f() {    //5、FatherClass的f()方法        value = 100;    //父类对象的value赋值100        System.out.println("FatherClass.value="+value);    //打印父类对象的value值    }}class ChildClass extends FatherClass {    public int value;    public void f() {    //3、ChildClass的f()方法        super.f();    //4、调用父类FatherClass的f()方法        value = 200;    //6、对象cc 的value = 200        System.out.println ("ChildClass.value="+this.value);    //打印cc的value值            System.out.println(value);    //打印cc的value值        System.out.println(super.value);    //打印父类对象的value值    }}public class TestInherit {    public static void main(String[] args) {    //程序主入口方法        ChildClass cc = new ChildClass();    //1、创建ChildClass的对象引用cc        cc.f();    //2、调用ChildClass的f()方法    }}

?

上面代码内存分析:?


?
承继中的super和this关键字学习

?

总结:

this是当前对象自身的引用;

super是当前对象的父类对象的引用。?

?

补充:构造方法中的super()和this()方法:

?

构造方法中的super(argument_list),表示调用其父类的构造方法。

构造方法中的this(argument_list),表示调用自身类中的其它构造方法。

?

1、子类的构造过程必须调用其父类的构造方法:想像,没有父亲就不可能有儿子。

2、若构造方法中调用super(argument_list),必须写在子类构造方法的第一行;

3、若子类的构造方法中没有显示的调用父类的构造方法,系统默认调用父类无参数的构造方法,若父类没有无参数的构造方法则编译出错。

?

?

?

热点排行