java 静态内部类的一个问题

2025年01月03日 08:46
有5个网友回答
网友(1):

我觉得你这个问题就是个语法问题,没有为什么的。
你可以这样理解new o.Inner().function()是指用一个实例的内部类,不是用一个类的内部类,所以语法受限

网友(2):

属性名可以点出来,方法是不可以是。非静态类了需要new一个对象后。用实例名字.method()才可以的。

网友(3):

import my.Outter.Inner;
public class OuterClassTest {
public static void main(String[] args ){

//Outter.Inner in = o.new Inner();
new Inner().function(); //这而为什么不能写成 new o.Inner().function();?
}//outter是main的内部类,没必要new的
} class Outter{
int a = 20;
static class Inner{
int a = 10;
void function(){
int a =5;
System.out.print("inner"+a);
}

}

}

网友(4):

静态内部类只属于该外部类的类本身,不能被外部类的实例初始化

网友(5):

内部类可以直接调用,就像内部变量一样,不需要new;