Java_log2000_类与对象3

类篇entry1

关键词: 封装; 消息;

封装

class FighterPlane
{
   private String name;
   private int missileNum;
   public void setName(String _name)
   {   if(_name != null){
          name = _name.trim(); }
   }
  public void setNum(int _missileNum)
  {   if(_missileNum > 0 ){
         missileNum = _missileNum;
      } 
   }
 public  void fire(){
    if (missileNum>0){
       System.out.println(“now fire a missile!”);
    }
    else
    {System.out.println(“No missile left!”);}
  } 
 }// end class
访问控制

体现封装,则需要掌握访问控制符public、 protected、 private、 “默认”的用法。
在java中这些修饰符可以修饰的地方有3种:

  • 修饰类
  • 修饰类的属性成员(域)
  • 修饰类的成员方法
类属性成员方法\类前修饰符public缺省
publicAB
protectedB或(B+C)B
缺省BB
privateDD

类属性成员方法从private到public权限依次增大

访问权限

访问权限首先看类前的修饰符,当类的修饰符为public时,
则类可以被所有的类所访问(可以import),当为默认时,
则只能为包中的类所访问。在此前提下,再看方法前的修饰符。

类前修饰符为public时,当属性和方法前的修饰符为public时,则该属性可以被所有类访问;当属性和方法前为protected修饰时,对于类定义而言,可以被同包中的类和所有子类访问(子类和父类可以不在同一个包中),也就是B+C范围,但对于对象而言,只能被同一个包的类对象所访问,也就是B的范围;当为默认时,只能被同包中的类所访问(比protected访问权限小);当为private时,只能被本类内部所访问 。

消息

消息的实质就是引用向对象发出的服务请求,是对数据成员
和成员方法的调用,例如 fp.name 和 fp.fire()就是发送消息。

能否发送消息取决于

  • 引用必须引用了特定的对象,否则会在运行是抛出NullPointerException异常。
  • 对象必须定义了相应的属性或方法,否则编译不会通过。
  • 被访问的属性或方法必须具有可访问的权限。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值