封装—权限访问修饰符

访问修饰符

通过控制方法、属性的不同访问权限,对外部暴露必要的接口,提供给客户程序员使用。将外部的功能和内部实现分隔。客户程序员无需关心内部实现。
这样在以后修改内部的具体实现细节(比如HashMap的优化),不会影响到客户程序员的使用。

public

所有的包都可以访问public属性

protected

只有同一个包下的类可以访问,或者虽然不在同一包下,但是继承父类,就可以访问到protected属性。

friendly

必须在同一个包下,才能访问到默认属性。即使不在同一个类也可以访问到。

private

只能在当前类下能够访问


可结合如下代码理解

package study.basic.demo01;

public class Person {
    public String publicName;

    protected int protectedAge;

    int fridenlyHight;

    private String privateId;

    public static void main(String[] args) {
        Person person = new Person();
        person.publicName="json";
        person.protectedAge=12 ;
        person.fridenlyHight=180;
        person.privateId="123123";//在同一个包下的同一个类,所有属性都可以访问到
    }
}

class Jake{
    public static void main(String[] args) {
        Person person = new Person();
        person.publicName="jake";
        person.protectedAge=23;
        person.fridenlyHight=172;//在同一个包下,但不是同一个类。可以访问到friendly

    }
}



package study.basic.demo02;

import study.basic.demo01.Person;

public class Animal {
    public static void main(String[] args) {
        Person person = new Person();
        person.publicName="jane";//不在同一个包下,只能访问到 public
    }
}

class Tom extends Person{
    public static void main(String[] args) {
        Tom tom = new Tom();
        tom.publicName="tom";
        tom.protectedAge=12;//不在同一个包下,但是继承了person类,可以访问到protected
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值