静态方法中通过关键字 new 只能创建静态内部类,而不能创建普通的内部类,因为普通的内部类编译后会持有外部类的引用,在静态方法中是不存在外部类的引用的。
可以把 Dog 类定义在 Demo001 类的外部,一个文件中也可以,此时 Dog 类不能加 public 修饰符,这样就行了。
静态方法中通过关键字 new 只能创建静态内部类,而不能创建普通的内部类,因为普通的内部类编译后会持有外部类的引用,在静态方法中是不存在外部类的引用的。
可以把 Dog 类定义在 Demo001 类的外部,一个文件中也可以,此时 Dog 类不能加 public 修饰符,这样就行了。
up主新建的不是内部类,(即不是在类中创建了另外一个类),
你看你的dog类是在另一个类中,变成了内部类,内部类使用static修饰
你看的up主的类不是内部类,你的这个写法是内部类,他的应该是写在最外面的。