当前位置:  技术问答>java相关

关于private和protected

    来源: 互联网  发布时间:2015-08-08

    本文导语:  为什么用protected定义的内部类,在另外一个public类里能用“外部类.内部类”访问到,用private定义的却不行?代码如下: package sample.parcel; abstract class Contents { abstract public int value(); } interface Destination { String r...

为什么用protected定义的内部类,在另外一个public类里能用“外部类.内部类”访问到,用private定义的却不行?代码如下:
package sample.parcel;

abstract class Contents {
abstract public int value();
}

interface Destination {
String readLabel();
}

public class Parcel3 {
//用private就不能访问,用protected,public可以访问
protected class PContents extends Contents {
private int i = 11;
public int value() {return i;}
}

protected class PDestination implements Destination {
private String label;
private PDestination(String whereTo){
label = whereTo;
}
public String readLabel() {return label;}
}

public Destination dest(String s) {
return new PDestination(s);
}

public Contents cont() {
return new PContents();
}
}
package sample.parcel;
import sample.parcel.*;

class Test3{
public static void main(String[] args) {
Parcel3 p = new Parcel3();
Contents c = p.cont();
Destination d = p.dest("Tanzania");
//当PContents定义成private时不能使用下面这句
Parcel3.PContents cc = p.new PContents();
}
}

|
java中protected关键字与c++不同,不光子类,连同一个包下面的所有类都能访问到,protected是包中的public+子类。

private只有自己能访问!

|
protected能被子类和同一个包中的类访问
private只能被自己访问,子类也不可以

|
protected能被子类和同一个包中的类访问
private只能被自己访问,子类也不可以

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.lang.model.element枚举modifier的类成员方法: private定义及介绍
  • 操作系统 iis7站长之家
  • java命名空间java.lang.reflect类modifier的类成员方法: private定义及介绍
  • 请教有关private的问题!!!!!!
  • java命名空间javax.crypto类cipher的类成员方法: private_key定义及介绍
  • private void arrang(int a[n])这样可以吗,如果不,怎么解决?
  • java命名空间java.lang类character.unicodeblock的类成员方法: private_use_area定义及介绍
  • 请问 access modifier 怎么翻译?? 就是 public ,private 等等。
  • java命名空间java.lang类character的类成员方法: private_use定义及介绍
  • How to use Private constructors?
  • java命名空间java.lang类character.unicodeblock的类成员方法: supplementary_private_use_area_a定义及介绍
  • 请教:sun中程序执行semid = semget( IPC_PRIVATE, 1, 0600 | IPC_CREAT ),semid < 0,是什么原因?
  • java命名空间java.lang类character.unicodeblock的类成员方法: supplementary_private_use_area_b定义及介绍
  • 谁帮我理清一下所有的修饰符的搭配情况啊?比如public不能和private连用,而static可以和native连用.
  • java命名空间java.lang类character.unicodeblock的类成员方法: high_private_use_surrogates定义及介绍
  • private 的问题
  • java命名空间java.nio.channels类filechannel.mapmode的类成员方法: private定义及介绍
  • 成员内部类可以为private,为什么?
  • java命名空间java.security枚举keyrep.type的类成员方法: private定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3