1. 程式人生 > >java靜態巢狀類 或叫 靜態內部類

java靜態巢狀類 或叫 靜態內部類

一. 什麼是巢狀類及內部類? 


可以在一個類的內部定義另一個類, 這種類稱為巢狀類(nested classes),
它有兩種型別: 靜態巢狀類和非靜態巢狀類。


靜態巢狀類使用很少, 最重要的是非靜態巢狀類, 也即是被稱作為內部類(inner).


巢狀類從JDK1.1開始引入.


其中inner類又可分為三種: 
(1) 在一個類(外部類)中直接定義的內部類;
(2) 在一個方法(外部類的方法)中定義的內部類;
(3) 匿名內部類.

import java.io.File;

/**
 * 系統常量
 */
public class Constants {

	// 自定義配置檔案
	public static final String ENVIRONMENT_PROPERTIES_PATH = "role-url.properties";
	private static final String _devMode = EnvironmentUtil.getInstance().getPropertyValue("devMode");
	/** 開發模式 true or false */
	public static final boolean DEV_MODE = _devMode != null && "true".equalsIgnoreCase(_devMode) ? true : false;

	/** 系統數字變數 */
	public static class SYS_NUMBER {
		
		/** token 失效時長 秒 */
		public static final int TOKEN_DURATION = 3600 * 24 * 2;
	}

	/** 系統字元變數 */
	public static class SYS_STRING {
		/** token 字首 */
		public static final String TOKEN_PREFIX = "USER_UUID_";
		
	}

	/** 簡訊 */
	public static class SMS {
		// 簡訊介面url
		public static String URL = EnvironmentUtil.getInstance().getPropertyValue("SMS_URL");
		// 簡訊介面開啟狀態(便於開發人員開發的時候 避免發簡訊 ) open為開啟、close為關閉
		public static final String SMS_ISOPEN_STATUS = EnvironmentUtil.getInstance().getPropertyValue("SMS_ISOPEN_STATUS");
		/** 簡訊通道 */
		public static final String SMS_CHANNEL = EnvironmentUtil.getInstance().getPropertyValue("SMS_CHANNEL");
		/** 微網通簡訊通道地址 */
		public static final String WWT_URL = EnvironmentUtil.getInstance().getPropertyValue("WWT_URL");
		/** 微網通簡訊通道POST_DATA */
		public static final String POST_DATA = EnvironmentUtil.getInstance().getPropertyValue("POST_DATA");
	}

	/** 上傳下載 */
	public static class UPLOAD_DOWNLOAD {
		/** 上傳檔案根據目錄 */
		public static final String FILE_SERVER_ADDRESS = EnvironmentUtil.getInstance().getPropertyValue("FILE_SERVER_ADDRESS");
		/** 伺服器訪問地址 */
		public static final String SERVER_ROOT_ADDRESS = EnvironmentUtil.getInstance().getPropertyValue("SERVER_ROOT_ADDRESS");
		/** 圖片訪問地址的字首 */
		public static final String IMAGE_ACCESS_ADDRESS_PREFIX = EnvironmentUtil.getInstance()
				.getPropertyValue("IMAGE_ACCESS_ADDRESS_PREFIX");
		public static String FILES_HTTP_ADDRESS_PREFIX = EnvironmentUtil.getInstance().getPropertyValue("FILES_HTTP_ADDRESS_PREFIX");
		public static String APP_SAVE_ADDRESS = FILE_SERVER_ADDRESS + "/files/app";
		public static String TEL_Member_SAVE_ADDRESS = FILE_SERVER_ADDRESS + "/files/tel_member/";
		public static String APP_HTTP_VISIT_ADDRESS = SERVER_ROOT_ADDRESS + FILES_HTTP_ADDRESS_PREFIX + "/app";
		
	}

	/** crm3.0的配置 */
	public static class CRM30 {
		/** crm3.0 base url */
		public static final String URL = EnvironmentUtil.getInstance().getPropertyValue("CRM30_URL");
		/** crm3.0 註冊 OFFICE_ID */
		public static final String OFFICE_ID = EnvironmentUtil.getInstance().getPropertyValue("OFFICE_ID");
		/** crm3.0 註冊 是否轉正 */
		public static final String IN_PROBATION = EnvironmentUtil.getInstance().getPropertyValue("IN_PROBATION");
		/** crm3.0 註冊 是否在職 */
		public static final String STATE = EnvironmentUtil.getInstance().getPropertyValue("STATE");
	}

	

}