java中静态内部类的成员变量特性
时间: 2023-06-11 11:04:11 浏览: 91
静态内部类与外部类相似,但是它的访问修饰符可以是 public、private 和 protected。静态内部类的成员变量可以是静态变量或非静态变量。静态内部类的静态变量属于该类本身,而非静态变量则属于该类的实例对象。当访问静态内部类的非静态成员变量时,必须通过实例对象来访问。而访问静态内部类的静态成员变量则可以直接通过类名进行访问。
相关问题
静态内部类: 必须以static关键字标注 只能访问外部类中的静态的成员变量或者是静态的方法 访问一个内部类使应该这样outerClass.innerClass inter = new outerClass.innerClass();不能直接实例化内部类 2)成员内部类: 定义在一个类的内部,但是没有static关键字修饰 生成示例的方法outerClass.innerClass inter = (new outerClass()).new innerClass() 对外部类变量的引用outClass.this.variale 可以访问外部类的静态与非静态方法 3)局部内部类: 局部内部类指的是定义在一个方法中的类 只有在当前方法中才能对局部内部类里面的方法以及变量进行访问 局部内部类只能访问其所在方法的final类型变量
你所说的是Java中三种内部类的分类方法,其中静态内部类、成员内部类和局部内部类都是Java中的内部类,它们各自具有不同的特点和用途。
静态内部类:
- 必须以static关键字标注;
- 只能访问外部类中的静态的成员变量或者是静态的方法;
- 访问一个内部类应该这样:OuterClass.InnerClass inter = new OuterClass.InnerClass();不能直接实例化内部类。
成员内部类:
- 定义在一个类的内部,但是没有static关键字修饰;
- 生成示例的方法:OuterClass.InnerClass inter = (new OuterClass()).new InnerClass();
- 对外部类变量的引用:OuterClass.this.variable;
- 可以访问外部类的静态与非静态方法。
局部内部类:
- 局部内部类指的是定义在一个方法中的类;
- 只有在当前方法中才能对局部内部类里面的方法以及变量进行访问;
- 局部内部类只能访问其所在方法的final类型变量。
总的来说,内部类是Java中一种非常特殊的语言特性,它能够提供更好的封装性和灵活性,同时也能够实现一些复杂的设计模式。在使用内部类时,需要根据实际情况选择适合的内部类类型。
阅读全文