静态内部类java
发布时间: 2025-07-04 07:25:45
⑴ Java面试题—内部类和静态内部类的区别
Java中内部类和静态内部类的区别如下:
内部类: 成员声明:内部类的变量和方法不能声明为静态的。 实例化:要实例化内部类,需要先实例化外部类,然后通过外部类的实例来创建内部类的实例,如A.B b = new A.new B。 访问权限:内部类可以引用外部类的静态或者非静态属性及方法。
静态内部类: 成员声明:静态内部类的属性和方法可以声明为静态的或者非静态的。 实例化:静态内部类不需要依赖于外部类的实例,可以直接通过外部类名来创建内部类的实例,如A.B b = new A.B。 访问权限:静态内部类只能引用外部类的静态的属性及方法,不能引用非静态的属性和方法。
总结: 内部类依赖于外部类的存在,而静态内部类则可以完全独立。 非静态内部类不能有静态成员变量或静态方法,因为非静态内部类不随外部类一起加载,只有在实例化外部类之后才会加载。
热点内容