JAVA的四种访问修饰符


示例 1 : 类之间的关系 
类和类之间的关系有如下几种:

以Hero为例

自身:指的是Hero自己

同包子类:ADHero这个类是Hero的子类,并且和Hero处于同一个包下

不同包子类:Support这个类是Hero的子类,但是在另一个包下

同包类: GiantDragon 这个类和Hero是同一个包,但是彼此没有继承关系

其他类:Item这个类,在不同包,也没有继承关系的类

示例 2: private 私有的

package charactor;

 

import property.Weapon;

 

public class Hero {

 

    //属性id是private的,只有Hero自己可以访问

    //子类不能继承

    //其他类也不能访问

    private int id;

     

    String name;

 

    float hp;

 

    float armor;

 

    int moveSpeed;

 

    public void equip(Weapon w) {

 

    }

 

}
使用private修饰属性

自身:是可以访问的

同包子类:不能继承

不同包子类:不能继承

同包类:不能访问

其他包类:不能访问

示例 3 : package/friendly/default 不写

package charactor;

import property.Weapon;

public class Hero {

    private int id;

 

    String name;

    // 无修饰符的属性 hp

    // 自己可以访问

    // 同包子类可以继承

    // 不同包子类不能继承

    // 同包类可以访问

    // 不同包类不能访问

    float hp;

 

    float armor;

 

    int moveSpeed;

 

    public voidequip(Weapon w) {

 

    }

}

示例 4 : protected 受保护的

package charactor;

 

import property.Weapon;

 

public class Hero {

    private int id;

    String name;

    // protected饰符的属性 hp

    // 自己可以访问

 

    // 同包子类可以继承

    // 不同包子类可以继承

 

    // 同包类可以访问

    // 不同包类不能访问

    protected floathp;

    float armor;

    int moveSpeed;

 

    public voidequip(Weapon w) {

    }

}

示例 5 : public 公共的

package charactor;

 

import property.Weapon;

 

public class Hero {

    private int id;

 

    // public的属性 name

    // 自己可以访问

 

    // 同包子类可以继承

    // 不同包子类可以继承

 

    // 同包类可以访问

    // 不同包类可以访问

    public Stringname;

    protected floathp;

    float armor;

 

    int moveSpeed;

 

    public voidequip(Weapon w) {

 

    }

}

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200518120041241.png)



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值