Java 内部类
内部类
-
可以将一个类的定义放在另一个类的定义内部,这就是内部类。
-
为什么要使用内部类?
使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。
-
特性
1、内部类可以用多个实例,每个实例都有自己的状态信息,并且与其他外围对象的信息相互独立。
2、在单个外围类中,可以让多个内部类以不同的方式实现同一个接口,或者继承同一个类。
3、创建内部类对象的时刻并不依赖于外围类对象的创建。
4、内部类并没有令人迷惑的“is-a”关系,他就是一个独立的实体。
5、内部类提供了更好的封装,除了该外围类,其他类都不能访问。
public class Outer {
private int id;
public void out(){
System.out.println("外部类的方法!");
}
public class Inner{
public void inn(){
System.out.println("内部类的方法!");
}
//获得外部类的私有属性
public void getGetID() {
System.out.println(id);
}
}
}
public class Application {
public static void main(String[] args) {
Outer outer = new Outer();
//通过外部类来实例化内部类(成员内部类)
Outer.Inner inner = outer.new Inner();
inner.inn();
inner.getGetID();
}
}
public class Outer {
private int id;
//局部内部类
public void out(){
class Inner{
public void test(){
System.out.println("成员内部类!");
}
}
}
}
public class Demo01 {
public static void main(String[] args) {
//没有名字初始化类,不用实例保存到变量中
new test().add();
}
}
class test{
public void add(){
System.out.println("新增一个数据!");
}
}

浙公网安备 33010602011771号