Java之内部类语法详解(附源码)

Posted mufeng_慕枫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java之内部类语法详解(附源码)相关的知识,希望对你有一定的参考价值。

前言


        可以将一个类的定义放在另一个类的定义内部,这就是内部类。        内部类是一种非常有用的特性,因为它允许你把一些逻辑相关的类组织在一起,并控制位于内部的类的可视性。然而必须要了解,内部类与组合是完全不同的概念,这一点很重要。        在最初,内部类可能看起来比较奇怪,而且要花些时间才能在设计中轻松地使用它们。对内部类的需求并非总是很明显的,但是在描述完内部类的基本语法与语义之后,在接下来的几个章节中就会发现内部类的益处。

示例源码


package com.mufeng.thetenthchapter;

public class Parcell 

	class Contents 
		private int i = 11;

		public int value() 
			return i;
		
	

	class Destination 
		private String label;

		public Destination(String whereTo) 
			// TODO Auto-generated constructor stub\\
			label = whereTo;
		

		String readLabel() 
			return label;
		
	

	public void ship(String dest) 
		Contents c = new Contents();
		Destination d = new Destination(dest);
		System.out.println(c.value());
		System.out.println(d.readLabel());
	

	public static void main(String[] args) 
		Parcell p = new Parcell();
		p.ship("Tasmania");
	



输出结果


11
Tasmania

源码解析


       当我们在 ship()方法里面使用内部类的时候,与使用普通类没有什么不同。在这里,实际的区别只是内部类的名字是嵌套在 Parcell里面的。不过你将在下一节看到,这并不是唯一的区别。

以上是关于Java之内部类语法详解(附源码)的主要内容,如果未能解决你的问题,请参考以下文章

Java之内部类与向上转型详解(附源码)

Java之内部类可以被覆盖吗详解(附源码)

Java之内部类链接到外部类(外围类)详解(附源码)

Java之内部类的继承(附源码)

Java之局部内部类和匿名内部类的区别详解(附源码)

Java面向对象之内部类的详解