staticnestedouterclass.java

来自「Java面向对象编程(随书配套源代码) 阐述了面向对象编程的思想」· Java 代码 · 共 52 行

JAVA
52
字号
package chapter7;
public class StaticNestedOuterClass 
{
	//public int var1 = StaticNestedClass.innerVar3;  //静态嵌套类的实例变量不可直接引用
	public static int var2 = StaticNestedClass.innerVar2;// 静态嵌套类的静态变量可直接引用
	public int var3 = 0;
	StaticNestedClass inner = new StaticNestedClass(); //可直接创建静态嵌套类
	public  static class StaticNestedClass
	{
		//public int innerVar1 = var3; 不可直接引用外部类实例变量
		public static int innerVar2 = var2; 
		public int innerVar3 =0; //可直接引用外部静态成员

		private static void display()
		{
			System.out.println("我是静态嵌套类的静态方法");
		}
		public void publicDisplay()
		{
			System.out.println("我是静态嵌套类的实例方法");
			StaticNestedOuterClass outer = new StaticNestedOuterClass();
			outer.getInner();
		}
		
		public static class InnerClass
		{
			//
		}
	}
	
	public void display()
	{
		StaticNestedClass.display(); // 静态嵌套类的静态方法可直接引用
		//StaticNestedClass.publicDisplay();静态嵌套类不可直接调用实例方法。
		inner.publicDisplay(); 
	}
	public StaticNestedClass getInner()
	{
		return inner;
	}
		
	public static void main(String args[])
	{
		System.out.println(var2);
		System.out.println(StaticNestedClass.innerVar2);
		StaticNestedOuterClass neste = new StaticNestedOuterClass();
		neste.display();
		StaticNestedClass inner = new StaticNestedClass();
		inner.publicDisplay();
	}
}

⌨️ 快捷键说明

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