内部类
说明:
定义在一个类里面的一个类
内部类里面定义的私有属性、方法,对于同级都可以访问。
内部类可以用public、private修饰,可以有属性、方法、构造方法等等。
(1)创建内部对象时,必须先要调用内部类的所属上级类,然后再调用内部类创建对象。
例:
class Test { //内部类的所属类
public class InnerClass{ //内部类
public void foo(){ //内部类的方法
System.out.println("内部类");
}
}
}
public class TestInnerClass{
public static void main(String[] args) {
//对内部类创建对象时,必须先要调用内部类的所属上级类,然后再调用内部类创建对象。
Test.InnerClass innerClass = new Test().new InnerClass();
innerClass.foo();
}
}
输出结果:
内部类
(2)使用static修饰内部类;
用static声名内部类则变成外部类,但是用static声名的内部类不能访问非static的外部类属性。
package Study_01;
class Test { //内部类的所属类
static class InnerClass{ //用static声名内部类
public void foo(){ //内部类的方法
System.out.println("内部类");
}
}
}
public class TestInnerClass{
public static void main(String[] args) {
new Test.InnerClass().foo(); //访问内部类
}
}
程序执行结果:
内部类