java中内部类该何时用,怎么用?

2025-04-01 23:23:15
推荐回答(3个)
回答1:

1.在一个类内部还存在另一个类,则后者为内部类;
2.内部类可声明成public或private,当内部类声明成public或private时,对其访问的限制与成员变量和成员方法完全相同;
3.定义格式:
标识符 class 外部类的名称{
//外部类的成员
标识符 class 内部类的名称{
//内部类的成员
}
}
示例:
class Outer{ // 定义外部类
private String info = "hello world" ; // 定义外部类的私有属性
class Inner{ // 定义内部类
public void print(){ // 定义内部类的方法
System.out.println(info) ; // 直接访问外部类的私有属性
}
};
public void fun(){ // 定义外部类的方法
new Inner().print() ; // 通过内部类的实例化对象调用方法
}
};
public class InnerClassDemo01{
public static void main(String args[]){
new Outer().fun() ; // 调用外部类的fun()方法
}
};
这位童鞋可以试着不用内部类写个程序完成以上功能,你会发现代码明显比之前的更加麻烦和复杂,所以内部类的唯一好处是方便的访问外部类中的私有属性,从而减少代码。

回答2:

内部类一般是跟匿名类一起用,也就是匿名内部类,最典型的用法比如在做AWT/SWING营运程序开发时的事件处理,就是直接创建一个匿名内部类

回答3:

通过外部类的实例来调用 一般不用内部类