class OuterClass
{
private String str;
InterClass inter;
    public OuterClass()
{

InterClass inter=new InterClass();
str=inter.str1;  //这里内部类对象可以访问私有的内部类成员?内部类中的权限限制有用吗? }
    public String get()
{
return str;
}
class InterClass
{
    private String str1;  //这里是私有的
public InterClass()
{
str1="InterClass变量";
}
};};class Start
{
public static void main(String args[])
{
OuterClass o=new OuterClass();
System.out.println(o.get());
}
}
内部类成员是不是对于内部类对象全是public权限?

解决方案 »

  1.   

    class OuterClass
    {
    private String str;
        public OuterClass()
    {
           str1="a";
       str="b";//外部类可以访问内部类成员?
    } public class InterClass
    {
        public String str1; 

    };};
      

  2.   

    上面发错了
    class OuterClass
    {
    private String str;
        public OuterClass()
    {
           str1="a";//外部类可以访问内部类成员?
       str="b";
    } public class InterClass
    {
        public String str1; 

    };};
      

  3.   

    看来没由说明白
    1、首先JAVA中非static内部类创建它必须依赖它的外部类的一个具体实例。
    2、它可以访问外部类的任何属性和方法(而不需要创建外部类的对象)
    3、外部类若要访问他的变量和方法必须先创建对象不能直接访问。(可以访问它的任何属性和方法)
    4、它里面不能有 static标识的成员变量和方法