码迷,mamicode.com
首页 > 编程语言 > 详细

Java 嵌套类和内部类示例<三>

时间:2015-07-12 17:33:29      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:嵌套类   java   内部类   

<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">package nested_inner_class;</span></span>
<span style="font-size:18px;">
public class StaticNestedTest3 {

	public static void main(String[] args) {
		//奇特的内部类实例化方法
		Outer3 outer3 = new Outer3();
		Outer3.Nested nested = outer3.new Nested();
		//使用以下方法无法创建,以下方法只能创建静态嵌套类
		//Outer3.Nested nested = new Outer3.Nested();
		
		System.out.println(nested.getValue());
		System.out.println(nested.getOuterValue());
	}

}

class Outer3{
	private int value = 9;
	//非静态的嵌套类(也可称为成员内部类)(Nested1)可以访问外层类(Outer)的所有(包括private)成员
	//可以把嵌套类当做外部类的一个函数来理解(为什么可以访问外部类的成员)
	 class Nested{
		
		int value = 10;
		
		/*
		 *  Note:
		 *  内部类中引用当前实例(内部类的实例)用 this
		 *  内部类中引用外层类实例用 Outer3.class,这和引用外层类的静态变量不同
		 * */
		
		
		//返回内部类的value
		int getValue(){
			return this.value;
		}
		
		//返回外部类的value
		int getOuterValue(){
			//内部类访问外部类对象的奇特方法
			return Outer3.this.value;
		}
	}
}</span>

嵌套类(nested class)是一个在另一个类或接口内部声明的类。嵌套类分为两种:静态内部类(static inner class)和非静态嵌套类(non-static nested class)。非静态嵌套类也称为内部类(inner class)

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java 嵌套类和内部类示例<三>

标签:嵌套类   java   内部类   

原文地址:http://blog.csdn.net/wanghao109/article/details/46850761

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!