static靜態方法內獲取當前類
前景:最近web專案在實現一個在java檔案中讀取專案目錄webcontent下的某一個資原始檔,在static方法中需要獲取資原始檔的路徑,因此需要根據當前的class去獲取到webcontent的路徑。
眾所周知,static修飾的方法中不能使用this關鍵字,因此不能再static方法中使用this.getClass()獲取當前檔案的class,因此換一種思路,編寫一個靜態方法,裡面定義一個普通的內部類,在內部類中使用this.getClass(),然後返回,因此在 static方法需要用到當前class的時候,直接呼叫新編寫的static方法即可。如下
public static void main(String[] args){
Class currentClass = getCurrentClass();
}
private static final Class getCurrentClass(){
return new Object(){
public Class getClassForStatic(){
return this.getClass();
}
}.getClassForStatic();
}
相關推薦
static靜態方法內獲取當前類
前景:最近web專案在實現一個在java檔案中讀取專案目錄webcontent下的某一個資原始檔,在static方法中需要獲取資原始檔的路徑,因此需要根據當前的class去獲取到webcontent的路徑。 眾所周知,static修飾的方法中不能使用this關鍵字,因此不能
java基礎 靜態 static 問在多態中,子類靜態方法覆蓋父類靜態方法時,父類引用調用的是哪個方法?
xtend java pos main 靜態方法 show extends ava pri 多態 package com.swift.jiekou; public class Jicheng_Tuotai_jingtai_diaoyong { publ
static靜態方法獲取yml配置
java普通類獲取yml檔案的配置很簡單,網上有很多類似的例子。比如: @Value("${zzp2.name}") private String name2; @Value("${zzp2.girl.age}") private Integer girlAge; @Value("${zzp
[PHP]獲取靜態方法呼叫者的類名和運用call_user_func_array代入物件作用域
一、獲取靜態方法呼叫者的類名 方法一: class foo { static public function test() { var_dump(get_called_class()); } } class bar extends foo { } foo::test
springboot static靜態方法獲取配置檔案
因為springboot預設掃描的是*Application同級的包,包含子目錄,所以,如果掃描不到ExcelUtil,需要在*Application加上 @ComponentScan("com.*") &n
Java獲取當前類名的兩種方法
tcl tac style name () getmethod sta stack trace 適用於非靜態方法 this.getClass().getName() 適用於靜態方法 //獲取類名Thread.currentThread().getSt
如何用js得到當前頁面的url信息方法(JS獲取當前網址信息)
bsp sea 字符 cat 文件 關聯 port tin 設置 設置或獲取對象指定的文件名或路徑。 alert(window.location.pathname) 設置或獲取整個 URL 為字符串。 alert(window.location.href); 設置或獲取
MVC 在action方法中獲取當前action的控制器名和action名
ted col 控制 name pre value values class context 如何在某個action方法中獲取它所在的控制器和action名稱呢。 string controllerName = Request.RequestContext.RouteDa
特性(property)/靜態方法(staticmethod)/類方法(classmethod)/__str__的用法
-s bject 方法 結構 stat static 位置 代碼 類定義 property是一種特殊的屬性,訪問它時會執行一段功能(函數)然後返回值 1 import math 2 class Circle: 3 def __init__(self,radi
Spring獲取當前類的代理物件
摘要:在專案中,涉及到同一個類中一個方法呼叫另外一個方法,並且兩個方法的事務不相關, 這裡面涉及到一個事務切換的問題,一般的方法沒問題,根據通過aop註解在方法上通過加註解標識, 答案是:通過spring aop類裡面的AopContext類獲取當前類的代理物件, 這樣就能切換對應的事務管理器了
vue如何在websocket方法內獲取data裡的資料和method裡的函式
在實踐中,會發現在websocket的onmessage方法內處理資料時,從websocket得到的資料無法在其他函式內呼叫,其他變數和函式也無法在websocket裡使用,這是因為資料的作用域不同使得無法訪問。 我們可以進行如下修改 func() {
Java - 獲取當前類載入路徑
在實際程式設計中,有很多地方需要當前類的載入路徑,以方便獲取配置檔案/輸出內容到某些特定路徑, 而經過多次學習,多次遺忘後,將獲得方法寫成部落格,方便自己檢視,也達到共享 程式碼實現 import org.junit.Test; public class HDFSDemo { @T
Java程式碼獲取當前類名和方法名
1、獲取類名 非靜態方法:this.getClass().getName(); 靜態方法:Thread.currentThread().getStackTrace()[1].getClassName(); private static void getString() {
Spring 無法注入靜態變數,直接在靜態方法中獲取bean
模組中想把一個類寫成工具類,提供靜態方法呼叫。但是方法中要用到@autowire注入的dao類變數,它要能在靜態方法中使用的話本身就加上static,但是static變數是無法用@autowire注入的。 @Autowired private AppConfMapper m
Java獲取當前類名、方法名
轉載自:http://blog.csdn.net/a578559967/article/details/7688971 為了測試各個函式,如果手動列印每個類名、函式名,那麼多函式的話能把人累死,Java早已準備好了一堆記錄自身的函式。 獲取類名: public st
JS與jQuery獲取任意事件的子元素下標(獲取當前類陣列的某一子元素下標)
JavaScript方法 var child = document.getElementsByClassName("child"); for(var i=0;i<child.length;i++) { var a = child[i];
JS獲取當前時間戳的方法-JavaScript 獲取當前時間戳
在網上找了很久JS獲取時間戳的方法,很多都走了很多彎路,但是得到是的時間戳卻不正確,下面把自己整理的幾個JS獲取時間戳的方法發到這裡,供我的好友分享。 JavaScript 獲取當前時間戳: 第一種方法: var timestamp =Date.parse(new Da
java 獲取當前類的所有父類
public static List<Class<?>> getsuperClass(Class<?> calzz){ List<Class<?>> listSuperClass = new ArrayList
static靜態方法和靜態變數用法
static 是定義一個靜態物件或靜態變數,關於static 定義的變數或類方法有什麼特性我們看完本文章的相關例項後就見分曉了。 1.建立物件$object = new Class(),然後使用”->”呼叫:$object->attribute/funct
獲取當前類泛型位元組碼物件的獲取方案,
問題演示 解決方案1: 使用有參構造賦值,強行要求子類手動使用有參賦值 解決方案2: 跟第二種方案很像,就是使用set方法賦值, 解決方案3: 使用反射技術實現獲取位元組碼物件,不需要子類提供clazz, //這種方案需要使