访问权限的问题(访问限制符)private,protected,public

写在前面:在面向对象编程中,最提倡的是通过调用方法来改变自己的属性,类应当提供操作数据的方法,这些方法需要编程人员进行精心设计。

首先声明,一个类中的实例变量总是可以操作该类中的实例变量和类变量,类变量只可以操作该类中的类变量,与访问限制符无关。

1、私有变量和私有方法private

如果类中的某个成员是私有变量,那么在另外一个类中,不能通过类名调用这个变量,方法也是一样。

对于私有变量和方法只有在本类中创建对象时,这个对象才可以访问私有成员变量和类中的方法。

class  AAA()

{

      public intmoney;

      private intgetMoney(){

             returnmoney;

      }

      publicstatic void main(String[] args)

      {

             AAAexa=new AAA();                   //对象exa在AAA类中有效

             exa.money=3000;             

             intm=exa.getMoney();

             System.out.println("money="+m);

      }

}

但是如果换成这样的就不行了

class  AAA()

{

      public intmoney;

      private intgetMoney(){

             returnmoney;

      }

}

class E

{

      publicstatic void main(String[] args)

      {

             AAAexa=new AAA();                   //对象exa在E类中,不在AAA类中,因此下面两个调用是非法的

             exa.money=3000;                   //调用非法

             intm=exa.getMoney();             //调用非法

             System.out.println("money="+m);

      }

}

在面向对象编程中,最提倡的是通过调用方法来改变自己的属性,类应当提供操作数据的方法,这些方法需要编程人员进行精心设计的,这就需要将变量名定义为私有的private。有时候可以直接通过类名对变量进行定义,但是最好还是利用方法。

2、共有变量和共有方法

利用public进行修饰,可以通过类名直接调用,

先创建对象,然后利用对象进行调用。

3、友好变量和友好方法,即不用private、public、protected修饰符的成员变量和方法。

     在同一个包里面的类可以通过类名访问类中的友好变量和友好方法,但是,如果利用import引入了另一个包中的类,并用该类创建了一个对象,那么该对象将不能访问自己的友好变量和友好方法。

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

    用protected修饰的成员变量和成员方法被称为受保护的成员变量和成员方法。基本用法和友好变量和友好方法一样,但是也有区别。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值