Java之内部类的初级应用详解(附源码)

Posted mufeng_慕枫

tags:

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

示例源码


       在本节中我们将讲述内部类应用中的一个更典型的情况:外部类将有一个方法,该方法返回一个指向内部类的引用,就像在 to()contents()方法中看到的那样。
package com.mufeng.thetenthchapter;

public class Parcell2 

	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 Destination to(String s) 
		return new Destination(s);
	

	public Contents contents() 
		return new Contents();
	

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

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

		System.out.println("--------我是分割线----------");

		Parcell2 q = new Parcell2();
		Parcell2.Contents c = q.contents();// (或者 q.new Contents())

		Parcell2.Destination d = q.to("Borneo");// (或者 q.new
												// Destination("Borneo"))

		System.out.println(c.value());
		System.out.println(d.readLabel());
	



输出结果


11
Tasmania
--------我是分割线----------
11
Borneo

源码解析


       如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象,那么必须像在 main()方法中那样,具体地指明这个对象的类型: OuterClassName.InnerClassName



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

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

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

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

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

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

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