A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

面向对象(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);
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马