A类和B类之间的关系

时间:2015-02-15 13:57:40

标签: java

public class A {
    private String str;
    public void setString(String pStr){
        str = pStr;
    }

    private class B {
        public String getStr(){
            return str;
        }
    }
}

a)A级和B级之间的关系是什么? b)为什么B类可以访问A(str)的私有领域?

是派生还是其他?

4 个答案:

答案 0 :(得分:0)

B类是私有的,所以它只能在类中创建。这意味着A类总是以某种形式存在。当你使B类静态时,你将无法访问A类的变量,因为它是静态的。

答案 1 :(得分:0)

它只是一个嵌套类,即类中的类。它与你定义字段和传递值类似,比如说private String mystr = new String(str);所以在这里你可以访问私有字段str并将它传递给String。

类似地,您在外部类中定义了非静态类,它将访问外部类中定义的private / protected / public字段。

如果说它扩展了另一个类,则将类称为派生类。类似的东西:

public class MyParentClass {}
public class MySubClass extends MyParentClass {}

答案 2 :(得分:0)

回答: a)如你所示,彼此之间没有任何关系 b)B类无法访问它,因为它在A上是私有的,并且在两者之间显示的代码中没有任何关系(读继承)。即使有,私人也不是继承的

查看这些链接以更好地了解继承和私有属性:

答案 3 :(得分:0)

B类是A类的成员。当一个类有一个私有成员时,同一个类的其他成员可以访问它。同样,在您的情况下,B类可以访问A类的私有成员。这不是任何形式的关系。它只是课堂上的课程。