public class Outer { //outer class
public String[] items;
public Outer(){};
public Outer(int size){
items = new String[size];
}
public void outer(){
System.out.println("Outer.outer()!");
}
//内部类
public class Inner{ //inner class
//返回对外部类对象的引用,采用外部类的名字后面加点和this
public Outer getOuter(){
return Outer.this;
}
//当外围对象enclosing object创建一个内部类对象时,
//内部类对象会秘密地捕获一个指向外围类对象的引用,内部类拥有外围类的所有元素的访问权
public int getLength(){ //返回外部类Outer的私有字符串数组变量items的长度
return items.length;
}
}
//外部类通常有一个方法,返回一个指向内部类的引用
public Inner getInner(){
return new Inner();
}
public static void main(String[] args) {
Outer o1 = new Outer();
//从外部类的非静态方法之外的任意位置创建某个内部类的对象,
//必须具体地指明这个对象的类型:OuterClassName.InnerClassName,此处可去掉Outer
Outer.Inner oi1 = o1.getInner();
oi1.getOuter().outer();
Outer o2 = new Outer(10);
//通过外部类对象去创建其某个内部类对象,必须在new表达式中提供对该外部类对象的引用
Outer.Inner oi2 = o2.new Inner();
System.out.println(oi2.getLength());
//在拥有外部类对象之前是不可能创建内部类对象的,除非创建的是静态内部类
}
}
分享到:
相关推荐
Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)
1.Nested Class(嵌套类) 1.1.Nested class 1.2.Nested class的分类 1.3.Nested class的使用原因 2.Static Nested Classes 2.1.static nested class访问enclosing ...3.3.Local Inner Class(Inner Class)
java-内部类(InnerClass)详解.pdf
java易混淆的地方,final, finally, finalize的区别,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类
this a java instance about innerclass application
第11章 内部类(Inner class).ppt第11章 内部类(Inner class).ppt
匿名内部类 inner class 马克-to-win java视频的详细介绍
InnerClass01Test.java
匿名内部类 inner class 马克-to-win java视频的详细介绍
Java内部类(innerclass).docx
很好的Java面试题第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
Java 面试题 经典 第一,谈谈final, finally, finalize的区别。...第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。 第四,&和&&的区别。 第五,HashMap和Hashtable的区别。
java程序代码,供大家参考。不会的时候可以看看啊
Java中inner_class内部类
Instance inner 实例内部类 马克-to-win java视频的介绍
本节内容包括 接口基本概念 使用接口的例子 接口的定义 接口的实现 接口与抽象类 接口和回调 内部类(介绍)
Instance inner 实例内部类 马克-to-win java视频的介绍
Instance inner 实例内部类 马克-to-win java视频的介绍
Instance inner 实例内部类 马克-to-win java视频的介绍
局部内部类 Local inner 马克-to-win java视频的详细介绍