什么是内部类?
把一个类定义在另外一个类的内部,嵌套类,宿主类
本质效果:相当于是一种封装 (内部类可以认为是外部类的成员)
注意:内部类编译完毕也会生成独立的字节码文件 (外部类名$内部类名.class)
内部类的语法:在一个类中使用class声明一个类
ex:
方式1==>创建内部类对象:new 外部类().new 内部类()
class Test{
public static void main(String[] args){
//创建内部类对象:new 外部类().new 内部类()
new Outer().new Inter().test(); //这是内部类中的test方法...
}
}
//外部类
class Outer{
//内部类
class Inter{
void test(){
System.out.println("这是内部类中的test方法...");
}
}
}
方式2==> 外部类.内部类 对象名 = new 外部类.内部类();
class Test{
public static void main(String[] args){
//创建内部类对象in 调用内部类方法test须加static修饰
Outer.Inter in = new Outer.Inter();
in.test(); //这是内部类中的test方法...
}
}
//外部类
class Outer{
//内部类
static class Inter{
void test(){
System.out.println("这是内部类中的test方法...");
}
}
}
方式3==> 外部类.内部类.方法名; (注意:在static修饰内部类和方法的前提下!!)
class Test{
public static void main(String[] args){
Outer.Inter.test(); //这是内部类中的test方法...
}
}
//外部类
class Outer{
//内部类
static class Inter{
static void test(){
System.out.println("这是内部类中的test方法...");
}
}
}