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

从头认识java-8.1 内部类

时间:2015-11-11 07:47:45      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:java

这一章节我们来讨论一下内部类。

1.概念

在类的内部创建的类就是内部类。

package com.ray.ch08;

public class Test {

	class Destination {
	}

	class Content {
	}

}

上面的Destination和Content就是内部类。


2.为什么需要内部类?

(1)隐藏代码

package com.ray.ch08;

import com.ray.ch08.Test.Destination;

public class Test {

	class Destination {
	}

	private class Content {
	}

}

class Ship {
	// Content content = new Test().new Content();//error
}

我们可以使用private来隐藏某些实现类。

当我们需要调用某个类的内部类时,必须先new 外部类,就像下面的Destination类一样。

package com.ray.ch08;

import com.ray.ch08.Test.Destination;

public class Test {

	class Destination {
	}

	private class Content {
	}

}

class Ship {
	Destination destination = new Test().new Destination();
	// Content content = new Test().new Content();//error
}


(2)通过与外部类的通信

package com.ray.ch08;

public class Test {
	private int id = 0;

	class Destination {
		private void print() {
			System.out.println(id);// 这里的id是int com.ray.ch08.Test.id
		}
	}

	private class Content {
	}

}

上面的代码演示了内部类可以改变外部类的属性域,这里可以衍生很多变化,在后面会详细展开。


(3)代码更加优雅

这一点就不用代码演示,因为根据不同的需求要求各不相同。


总结:这一章节主要讲述了内部类的概念与使用的原因。


这一章节就到这里,谢谢。

-----------------------------------

目录


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

从头认识java-8.1 内部类

标签:java

原文地址:http://blog.csdn.net/raylee2007/article/details/49765265

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