黑马程序员技术交流社区

标题: 面向对象(this和super的区别和应用) [打印本页]

作者: lijieping    时间: 2015-9-15 21:39
标题: 面向对象(this和super的区别和应用)
面向对象(this和super的区别和应用)
* A:this和super都代表什么
        * this:代表当前对象的引用,谁来调用我,我就代表谁
        * super:代表当前对象父类的引用
* B:this和super的使用区别
        * a:调用成员变量
                * this.成员变量 调用本类的成员变量,也可以调用父类的成员变量
                * super.成员变量 调用父类的成员变量
        * b:调用构造方法
                * this(...)        调用本类的构造方法
                * super(...)        调用父类的构造方法
        * c:调用成员方法
                * this.成员方法 调用本类的成员方法,也可以调用父类的方法
                * super.成员方法 调用父类的成员方法
案例:
class Demo4_Extends {
        public static void main(String[] args) {
                Son s = new Son();
                s.print();
        }
}
/*
* A:案例演示
        * a:不同名的变量
        * b:同名的变量
                子父类出现同名的变量只是在讲课中举例子有,在开发中是不会出现这种情况的
                子类继承父类就是为了使用父类的成员,那么如果定义了同名的成员变量没有意义了
*/

class Father {
        int num1 = 10;
        int num2 = 30;
}

class Son extends Father {
        int num2 = 20;

        public void print() {
                System.out.println(this.num1);                                //this既可以调用本类的,也可以调用父类的(本类没有的情况下)
                System.out.println(this.num2);                                //就近原则,子类有就不用父类的了
                System.out.println(super.num2);
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2