加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java – 使用’super’关键字

发布时间:2020-12-15 01:05:29 所属栏目:Java 来源:网络整理
导读:简单的问题.我创建了一个名为Tester1的类,它扩展了另一个名为Tester2的类. Tester2包含一个名为“ABC”的公共字符串. 这是Tester1: public class Tester1 extends Tester2{ public Tester1() { ABC = "Hello"; }} 如果我改为将第5行更改为 super.ABC = "Hel

简单的问题.我创建了一个名为Tester1的类,它扩展了另一个名为Tester2的类. Tester2包含一个名为“ABC”的公共字符串.

这是Tester1:

public class Tester1 extends Tester2
{
    public Tester1()
    {
         ABC = "Hello";
    }
}

如果我改为将第5行更改为

super.ABC = "Hello"; 

我还在做同样的事吗?

最佳答案
是.您的对象中只有一个ABC变量.但请不要首先公开领域.字段应该总是私有的.

如果你在Tester1中声明了一个变量ABC,那么就会有区别–Tester1中的字段会隐藏Tester2中的字段,但是使用super你仍然会引用Tester2中的字段.但是不要这样做 – 隐藏变量是一种让代码无法维护的快速方法.

示例代码:

// Please don't write code like this. It's horrible.
class Super {
   public int x;
}

class Sub extends Super {
    public int x;

    public Sub() {
        x = 10;
        super.x = 5;
    }

}

public class Test {
    public static void main(String[] args) {
        Sub sub = new Sub();
        Super sup = sub;
        System.out.println(sub.x); // Prints 10
        System.out.println(sup.x); // Prints 5
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读