Java域隐藏的使用和优势

域隐藏

Java中的即代表类中的成员变量域隐藏即为子类和父类同时存在相同的成员变量,可以和方法的覆盖形成对比进行记忆。

代码示例:

class person
{
    int age;
    public void out() {
        System.out.println("父类的年龄为:"+age);
    }
}
class student extends person
{
    int age=20;                 //覆盖父类的成员变量age
    student(int Newage)
    {
        super.age=Newage;       //对父类的age进行赋值
        super.out();
    }
    public void output()
    {
        System.out.println("子类的年龄为:"+age);
    }
}

public class DohiCover {
    public static void main(String[] args) {
        student s1=new student(15);
        s1.output();
    }
}

结果:

父类的年龄为:15
子类的年龄为:20

Process finished with exit code 0
  • 可能很多人认为域隐藏没有用处,或者不明白其好处在哪里。域隐藏可以降低数据或模块之间的耦合度,符合软件程序设计的特点。

域隐藏的优势:

  • 软件设计讲究高内聚低耦合,域隐藏符合低耦合的特点,它可以使数据之间的联系降低。如该题中: 子类的成员变量age代表子类对象的年龄,父类的成员变量age可以采用super.age的方式进行定义;如果子类中没有定义成员变量age,那么子类和父类共享一个age,当需要分开使用时,却发现无从下手。
  • 可能有人说,直接使用age01,age02这样定义在子类中不好么;当然可以,但如果子类太多时,会导致记不清该子类中定义的age**,从而导致出错。
  • (:此为作者个人观点。)

高内聚低耦合的作用以及如何使用可见: https://baike.baidu.com/item/%E9%AB%98%E5%86%85%E8%81%9A%E4%BD%8E%E8%80%A6%E5%90%88/5227009?fr=aladdin.

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值