parcel3.java

来自「java的容器应用」· Java 代码 · 共 44 行

JAVA
44
字号
//: Parcel3.java
// Returning a handle to an inner class

abstract class Contents {
	abstract public int value();
}

interface Destination {
	String readLabel();
}

public class Parcel3 {

	private class PContents extends Contents {
		private int i = 11;
		public int value() { return i; }
	}

	protected class PDestination implements Destination {
		private String label;
		private PDestination(String whereTo) {
			label = whereTo;
		}
		public String readLabel() { return label; }
	}

	public Destination dest(String s) {
		return new PDestination(s);
	}

	public Contents cont() {
		return new PContents();
	}
}

class Test {
	public static void main(String[] args) {
		Parcel3 p = new Parcel3();
		Contents c = p.cont();
		Destination d = p.dest("Tanzania");
		//	Illegal -- can't access private class:
		//! Parcel3.Pcontents c = p.new PContents();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?