问题描述
classParcel{privateclassPContent{}}publicclassTestParcel{Parcelp=newParcel();//!Parcel.pContentpc=p.newPContent();//Illegal--cantaccessprivateclass}PContent不是允许被Parcel访问的吗
解决方案
解决方案二:
privateinti;你能访问么?private就是私有。。。
解决方案三:
当然不可以。它只能被包裹着它的那个类创建。
解决方案四:
引用2楼soton_dolphin的回复:
当然不可以。它只能被包裹着它的那个类创建。
Parcel.pContentpc=p.newPContent();这样写是不是属于被包裹的那个类创建
解决方案五:
外部能访问对象的公共成员和属性。
解决方案六:
引用3楼u013992890的回复:
Parcel.pContentpc=p.newPContent();这样写是不是属于被包裹的那个类创建
这一句出现在Parcel类的类体内是可以的。在类外面就不行了。因为,pContent是Parcel的私有成员。
解决方案七:
引用5楼anshiny的回复:
Quote: 引用3楼u013992890的回复:
Parcel.pContentpc=p.newPContent();这样写是不是属于被包裹的那个类创建这一句出现在Parcel类的类体内是可以的。在类外面就不行了。因为,pContent是Parcel的私有成员。
但是在Thinksinjava中却表示这样写是非法的
解决方案八:
推荐阅读一下这篇深入探究内部类问题的文章
时间: 2024-12-03 01:02:08