本帖最后由 朱荣宁. 于 2013-3-10 10:41 编辑
我来回答你,希望对你有用.
protected可以修饰成员变量和方法,被称为受保护的成员变量和方法,
而且必须在同一包中才能被访问。它不能修饰类
protected 标识符主要作用是使类或接口的成员仅在该类或接口以及当前类的所有派生类中可见。
当前类之外的代码无法访问 protected 成员。全局范围内的类和接口不能使用 protected 修饰符来标记。
类或接口(包括嵌套类和嵌套接口)的任何成员都可以使用 protected 修饰符来标记。
不能将 protected 修饰符与其他任何可见性修饰符(public、private 或 internal)组合。
我在这里给你举出一个很简单的例子:
代码如下:
- class A
- protected int weight ;
- protected int f( int a,int b )
- {
- // 方法体
- }
- }
假设B与A在同一个包中,则- class B
- {
- void g()
- {
- A a=new A();
- A.weight=100;//合法
- A.f(3,4); //合法
- }
- }
你可能会问到什么是在同一个包中?
就是用package打包在一起的class ,叫在同一个包中
没有使用package打包的,在同一目录下的类也会被视做同一个包。
所以不能用protected和private修饰类。希望对你用用!
|