⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 j02080702.java

📁 经典java教材《java完美经典》一书中源码的完全收集
💻 JAVA
字号:
import java.lang.*;

class j02080702
{	 
	public static void main(String[] para)
  {			
		A.stInner.Fun2();  //stInner 内的 static 成员可直接使用
		System.out.println("==========================="); 
		A.stInner obj1 = new A.stInner();  // 在 A 类之外,语法不能省称「外围类」-- A 
		obj1.Fun1();  //stInner 内非 static 成员要由 stInner 对象使用	
		// System.out.println("obj1.y = " + obj1.getY());  //private 成员只能在类内存取	
		
		//A.privateInner obj2;	//错误,private 的嵌套类只能在类内使用
  }
}

class A
{
	static int a = 100;
	int b = 200;
	
	public static void showA()
	{
		System.out.println("A 之 a = " + a);		
	}
	public void	showB()
	{
		System.out.println("A 之 b = " + b); 
	}
	
	public static stInner getNewInner()
	{
		stInner obj = new stInner();  //在 A 类之内,语法可省称「外围类」-- A 
		System.out.println("obj.y = " + obj.getY());  //private 成员可在外围类内存取
		return obj;	
	}	
	
	public static class stInner
	{
		static float x = 111.11F;
		float y = 222.22F;
		
		private float getY()
		{
			return y;
		}
		
		public void Fun1()
		{           //隐含 stInner 类型的 this 变量
			System.out.println("stInner 之 Fun1()");
			
			showA();
			//showB(); //不能直接使用外围类 A 之 Instance Member
			A obj = new A();
			obj.showB();  //有实例才能使用
			
			System.out.println("stInner 之 x = " + x);  // x ==> this.x
			System.out.println("stInner 之 y = " + y);	// y ==> this.y		
			System.out.println("stInner 之 getY() = " + getY());	// getY() ==> this.getY()
		}

		public static void Fun2()
		{
			System.out.println("stInner 之 static Fun2()");
			System.out.println("A  a = " + a);
			//System.out.println("A  b = " + b);  //不能直接使用外围类 A 之 Instance Member
			System.out.println("stInner  x = " + x);   
			//System.out.println("stInner  y = " + y);		//不能直接使用 stInner 之 Instance Member
			//System.out.println("stInner  getY() = " + getY());	 //不能直接使用 stInner 之 Instance Member					
		}
		
		public static stInner getNewObj()
	  {
		  stInner obj = new stInner();  //在 stInner 类之内,语法可省称「外围类」-- A 
		  return obj;	
	  }
	}
	
	/*========== 另一个 static nested class ============*/
	private static class privateInner
	{
		public static String myStr = "CYH";
		public static void testFun()
		{
			System.out.println("myStr = " + myStr);			
		}
	}
}

⌨️ 快捷键说明

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