js css html

Java--内部类的分类-2

2022-09-01  本文已影响0人  李赫尔南

【示例】内部类的访问

public class TestInnerClass {
    public static void main(String [] args){
       //先创建外部类实例,然后使用该外部类实例创建内部类实例
        Outer.Inner inner = new Outer().new Inner();
        inner.show();
        Outer outer = new Outer();
        Outer.Inner inn = outer.new Inner();
        inn.show();
    }
}

输出:
  内部类方法里的局部变量age: 30
  内部类的成员变量age: 20
  外部类的成员变量age: 10
  内部类方法里的局部变量age: 30
  内部类的成员变量age: 20
  外部类的成员变量age: 10

b)静态内部类

i. 定义方式:

static class ClassName {
    //类体
}

ii. 使用要点:
  1.当一个静态内部类对象存在,并不一定存在对应的外部类对象。因此,静态内部类的实例方法不能直接访问外部类的实例方法。
  2.静态内部类看做外部类的一个静态成员。因此,外部类的方法中可以通过:"静态内部类.名字"的方式访问静态内部类的静态成员,通过new 静态内部类()访问静态内部类的实例。

【示例】静态内部类的访问

class Outer{
    //相当于外部类的一个静态成员
    static class Inner{
    }
}
public class TestStaticInnerClass {
    public static void main(String [] args){
        //通过 new 外部类名。内部类名()来创建内部类对象
        Outer.Inner inner = new Outer.Inner();
    }
}
上一篇 下一篇

猜你喜欢

热点阅读