靜態方法獲取當前類名

public class  MyClass
	{
		public static void main(String[] args) 
		{
			System.out.println(getStaticClass().getName());
			System.out.println(getStaticClassName());
		}

		/**
		 * 利用匿名類在靜態方法中獲取當前類,彌補靜態方法中不能用this.getClass()的不足
		 */
		private static final Class getStaticClass<span style="font-family: Arial, Helvetica, sans-serif;">() {</span>
			return new Object() {
				public Class <span style="font-family: Arial, Helvetica, sans-serif;"></span>getStaticClass<span style="font-family: Arial, Helvetica, sans-serif;"></span><span style="font-family: Arial, Helvetica, sans-serif;">() {    </span>
					return this.getClass();    
				}  
			}.getStaticClass();
		}

		/**
		 * 利用匿名類靜態方法中獲取當前類名 
		 */
		private static final String getStaticClassName<span style="font-family: Arial, Helvetica, sans-serif;">() {</span>
		   return new Object() {
				public String getClassName() {    
					String className = this.getClass().getName();    
					return className.substring(0, className.lastIndexOf('$'));    
				}  
		   }.getClassName();
		} 
	}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章