JAVA内部类、外部类创建与控制访问
一、 创建静态、非静态内部类
内部类的优缺点、内部类的使用格式。
对于成员内部类,必须先产生外部类的实例化对象,才能产生内部类的实例化对象。而静 态内部类不用产生外部类的实例化对象即可产生内部类的实例化对象。
创建静态内部类对象的一般形式为: 外部类类名.内部类类名 xxx = new 外部类类名.内部 类类名();
创建成员内部类对象的一般形式为: 外部类类名.内部类类名 xxx = 外部类对象名.new 内 部类类名();
例如:
public class Test {
public static void main(String[] args) {
// 初始化Bean1
Test test=new Test();
Test.Bean1 bean1=test.new Bean1();
bean1.I++;
//初始化Bean2
Test.Bean2 bean2=new Test.Bean2();
bean2.J++;
//初始化Bean3
Bean bean=new Bean();
Bean.Bean3 bean3=bean.new Bean3();
bean3.k++;
}
class Bean1{
public int I =0;
}
static class Bean2{
public int J=0;
}
} class Bean{
class Bean3{
public int k=0;
}
}
二、在外部访问内部类
一般格式为:外部类.内部类 内部类对象 = 外部类实例.new 内部类();
注意以上操作格式中,首先要找到外部类的实例化对象之后,才可以通过外部类的实例化对象去实例化内部类的对象。
例如:
class Outer{
private String info = "hello world!!!";
class Inner{
public void print(){
System.out.println(info);
}
}
}
public class InnerClassDemo04{
public static void main(String args[]){
Outer out = new Outer();
Outer.Inner in = out.new Inner();
in.print();
}
}
运行结果:
hello world!!!
希望对你有所帮助! (第一次写博客希望大家多多指点 )