4.7 访问权限

本文详细解析了Java中的访问修饰符(private、public、protected和friendly)及其对成员变量的影响,包括私有变量、私有方法、共有变量、共有方法、友好变量和友好方法的使用规则。同时介绍了如何在不同类间访问这些成员变量和方法,并讨论了protected成员变量和方法在继承中的特殊性。最后,通过实例展示了不同访问权限的实现和应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注:一个类中的实例方法总是可以操作该类中的成员变量;类方法总是可以操作该类中的类变量,与访问限制符没有关系。

1.私有变量和私有方法

:用关键字 private修饰的成员变量和方法。例:
class Tom{          
    private float weight;
    private float f(float a,float b){
         ….
    }
}
在另外一个类中用类Tom创建了一个对象后,该对象不能访问自己的私有变量和私有方法。如:
class Jerry{
    void g(){
        Tom cat=new Tom();
        cat.weight=23f;//非法
        cat.f(3f,4f);//非法
    }
}
只有在 本类在创建该类的对象时,这个对象才能访问自己的私有变量和类中的私有方法。例:
class Example4_14{
    private int money;
    Example4_14(){
        money=2000;
    }
    private int getMoney(){
        return money;
    }
    public static void main(String args[]){
        Example4_14 exa=new Example4_14();
        exa.money=3000;
        int m=exa.getMoney();
        System.out.println("money="+m);
    }
} 

2.共有变量和共有方法 

:用关键字 public修饰的成员变量和方法。例:
class Tom{
    public float weight;
    public float f(float a,float b){
         ….
    }
}
当在任何一个类中用类Tom创建了一个对象后,该对象可以访问自己的public变量和public方法。

3.友好变量和友好方法 

不用private、public、pretected修饰符的成员变量和方法。如:
class Tom{
    float weight;
    float f(float a,float b){
         ….
    }
}
当在另外一个类中用类Tom创建了一个对象后,如果这个类与Tom类在 同一个包中,那么该对象能访问自己的友好变量和友好方法。

4.受保护的成员变量和方法  

:用关键字 protected修饰的成员变量和方法。例:
class Tom{
    pretected float weight;
    pretected float f(float a,float b){ 
        ….
    }
当在另外一个类中用类Tom创建了一个对象后,如果这个类与Tom类在同一个包中,那么该对象能访问自己的pretected变量和pretected方法。
在介绍子类时,会介绍“protected”和“友好的”之间 在继承方面的区别。 

5.public类和友好类 

public类:类声明时,在关键字class前加上public关键字。
友好类:如果一个类不加public修饰。(那么在创建该类的对象时,要保证它们在同一个包中)
注:
a)不能用private和protected修饰类 
b)访问权限的级别(由高到底) public、protected、友好的、private。 


转载于:https://my.oschina.net/jerrypan/blog/128055

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值