java 为什么一个类可以在另一个类里实例化?有没有不可以的情况?

如题,求大佬解答,感谢!之前看到一个类可以在另一个类实例化,但不是很清楚为什么。我说的是两个class,一个a,一个b,我在class b里创建了一个a的实例
public class MyClass{
int x=5;
}

class Otherclass{
public static void main(String[] args){
Myclass myobj=new Myclass();
System.out.println(myObj.x);
}

你说的应该是内部类或者类的聚合:

内部类

public class HelloWorld {
    class A
    {
        int x;
    }
    public static void main(String []args) {
        A a = new HelloWorld().new A();
        a.x = 123;
        System.out.println(a.x);
    }
}

类聚合

public class HelloWorld {
    public static A a;
    public static void main(String []args) {
        a = new A();
        a.x = 123;
        System.out.println(a.x);
    }
}
class A
{
    public int x;
}

不可以的情况,比如说封闭了构造函数,是抽象类,等等。

问题解决的话,请点下采纳