我知道在组成内部组成的类时,它的对象不应存在于其类之外,但在下面的示例中,Sword
类被组成了Unit
类,并且我仍然可以像我在main中所做的那样,在没有unit类的情况下独立创建它的对象,如何防止Sword
对象独立存在?
public class Main {
public static void main(String[] args) {
Sword sword = new Sword();
}
}
class Sword {
private int a;
}
class Unit {
private String s1;
private Sword s;
void setProperty(String s1, Sword s) {
this.s1 = s1;
this.s = s;
}
}
答案 0 :(得分:1)
如果您不希望其他任何人访问Sword
,则可以将其创建为私有内部类
class Unit
{
private String s1;
private Sword s;
public Unit(String s1)
{
this.s1 = s1;
this.s = new Sword();
}
private class Sword
{
private int a;
}
}