加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

java里protected方法和友好方法的区别

(2012-02-09 16:06:49)
标签:

it

如果子类和父类不在同一个包中,那么,子类继承了父类的protected、public成员变量做为子类的成员变量,并且继承了父类的protected、public方法为子类的方法。如果子类和父类不在同一个包里,子类不能继承父类的友好变量和友好方法。

下面的例子中,Father和Jerry 分别隶属不同的包。

Father.java:

package tom.jiafei;

public class  Father

  int  height;

   protected int money;

   public   int weight;

   public Father(int m) {

   money=m;

   }

   protected int getMoney()

   return money;

   }

    void setMoney(int newMoney)

   money=newMoney;

   }

}

Jerry.java:

package sun.com;

import tom.jiafei.Father;

public class Jerry extends Father   //Jerry和Father在不同的包中.

public Jerry()

    super(20);

   }

   public static void main(String args[])

   {  Jerry  jerry=new Jerry();

      jerry.height=12;         //非法,因为Jerry没有继承友好的height。

      jerry.weight=200;        //合法。

      jerry.money=800;         //合法。

      int m=jerry.getMoney(); //合法。.

      jerry.setMoney(300);    //非法,因为Jerry没有继承友好的方法setMoney。

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

   }

}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有