導航:首頁 > 方法技巧 > 如何請求靜態方法

如何請求靜態方法

發布時間:2023-01-13 03:59:15

1. 怎麼調用靜態方法

靜態方法不能訪問非靜態的實例變數和實例方法。實例方法可以訪問靜態成員和非靜態成員。
1在本來中直接調用靜態方法
2可以通過類名來調用該類的靜態方法
3通過實例調用靜態方法
// 外部類,不能是靜態的
public class OuterClass {

// 靜態方法,又稱為類方法,屬於Test類
public static void staticFun() {
}

// 非靜態方法,又稱為實例方法,屬於Test類的具體實例
public void nonStaticFun() {
}

// 靜態內部類,靜態類只能是內部類
public static class StaticInnerClass {

// 靜態方法,屬於StaticInnerClass類
public static void staticFun() {
}

// 非靜態方法,屬於StaticInnerClass類的實例
public void nonStaticFun() {
}
}

// 非靜態內部類,不能有靜態方法
public class NonStaticInnerClass {

// 非靜態方法,屬於NonStaticInnerClass的實例
public void nonStaticFun() {
}
}

// 測試代碼如下:
public static void main(String[] args) {
// 對於靜態方法,使用類直接訪問
OuterClass.staticFun();
StaticInnerClass.staticFun();

// 對於非靜態方法,需要使用類的實例訪問
new OuterClass().nonStaticFun();
new StaticInnerClass().nonStaticFun();

// 對於非靜態內部類,必須創建外部類後才能使用
OuterClass outerClass = new OuterClass();
NonStaticInnerClass nonStaticInnerClass = outerClass.new NonStaticInnerClass();
nonStaticInnerClass.nonStaticFun();
}
}

2. TP中如何調用第三方類庫中的靜態方法

首先整理你的類庫文件夾,然後放到tp目錄下的vender/下,我用的是OT二開的,我的目錄在ThinkPHP\Library\Vendor\下,自己先找對這個目錄,把文件夾放進去。
我的最終目錄是這樣的:\ThinkPHP\Library\Vendor\PHPExcelUnit
PHPExcelUnit為我整理過的phpexcel類庫包。
下邊就該說說如何調用了:
在控制器中,需要實例化PHPExcel類,類似這樣的做法是不行的:
$PHPExcel = new PHPExcel();
$PHPReader = new PHPExcel_Reader_Excel2007();
一定要這樣調用,在類名前面加上反斜杠
vendor('PHPExcelUnit.PHPExcel'); //引入類庫
$PHPExcel = new \PHPExcel();
$PHPReader = new \PHPExcel_Reader_Excel2007();
這樣就可以啦。
如果需要調用類的靜態方法。比如說:
PHPExcel_cell::columnIndexFromString('A') ;
還是會提示錯誤,在類前面加上\還是不行,無奈只能把靜態方法扒拉一份,整理到自己的控制器或者模型中,然後再通過自身的方法來調用,例如:
self::columnIndexFromString('A') ;
self::columnIndexFromString('BW');

3. 如何調用內部類中的靜態方法

一般來說,外部類調用內部類的方法分為以下幾種情況:
1.使用static可以聲明一個內部類, 可以直接在外部調用

// 定義外部類
class Outer
{
// 定義外部類的私有屬性
private static String info = "hello world";
// 使用static定義內部類為外部類
static class Inner
{
// 定義內部類的方法
public void print()
{
// 直接訪問外部類的私有屬性
System.out.println(info);
}
};

// 定義外部類的方法
public void fun()
{
// 通過內部類的實例化對象調用方法
new Inner().print();
}
};

public class InnerClassDemo03
{
public static void main(String args[])
{
// 調用外部類的fun()方法
new Outer.Inner().print() ;
}
};
2.不使用statc聲明一個內部類 ,使外部調用

//定義外部類
class Outer
{
//定義外部類的私有屬性
private String info = "hello world";
//定義內部類
class Inner
{
//定義內部類的方法
public void print()
{
//直接訪問外部類的私有屬性
System.out.println(info);
}
};
//定義外部類的方法
public void fun()
{
//通過內部類的實例化對象調用方法
new Inner().print();
}
};

4. 靜態方法怎麼調用

先在eclipse中創建一個Java工程文件。並在src下創建demo包,在demo包下創建類DemoClass。創建後的工程目錄如圖。

02
接下來在DemoClass類中添加一個靜態屬性和靜態方法。被static修飾的屬性或方法就是靜態的。

03
對於靜態方法的調用,可以使用調用非靜態方法的方式去調用,即創建一個類的對象,然後再調用靜態方法,具體代碼如下圖。

04
編輯好代碼後,通過java應用程序的方式運行DemoClass.java文件,運行結果如圖2,說明成功調用了靜態方法。

05
不過,上面調用靜態方法的方式是不推薦的。如果使用上面的方式調用靜態方法,在eclipse中,你可以看到下圖的警告,大概的意思是要你使用正確的調用靜態方法的方式去調用該方法。

06
對於靜態方法,正確調用的方式是直接通過類名來調用的。用調用例子中的staticFunction為例,正確調用該方法的代碼為
DemoClass.staticFunction。當用類來調用靜態方法時,可以看到eclipse就不報警告了。

07
再次運行該文件,運行結果和剛剛一樣,說明也成功調用了靜態方法。

08
多說一句,對於靜態屬性的調用,也是用類名+點+靜態屬性的方式來調用的,正常都不會先創建一個對象,然後再通過對象來調用靜態屬性。

5. 靜態方法怎麼調用

C++中,若類的 方法 前加了static關鍵字,則該方法稱為靜態方法,反之為實例方法。那麼,靜態方法怎麼調用?

C#的類中可以包含兩種方法:靜態方法和非靜態方法。

使用了static 修飾符的方法為靜態方法,反之則是非靜態方法。

靜態方法是一種 特殊的成員方法,它不屬於類的某一個具體的實例,而是屬於類本身。

所以對靜態方法不需要 首先創建一個類的實例,而是採用類名.靜態方法的格式 。

1.static方法是類中的一個成員方法,屬於整個類,即不用創建任何對象也可以直接調用!

static內部只能出現static變數和其他static方法!而且static方法中還不能使用this....等關鍵字..因為它是 屬於整個類!

2.靜態方法效率上要比實例化高,靜態方法的缺點是不自動進行銷毀,而實例化的則可以做銷毀。

3.靜態方法和靜態變數創建後始終使用同一塊內存,而使用實例的方式會創建多個內存.

4.C#中的方法有兩種:實例方法,靜態方法. 類的方法代碼只有一份,它們的生命周期和類是一致的.實例方法是通過對象名調用的,靜態方法與類關聯而不是 與對象名關聯.

5.那麼在程序中什麼地方可以利用靜態欄位和靜態構造方法,通常適用於於一些不會經常變化而又頻繁使用的數 據,比如連接字元串,配置信息等,當滿足上面所 說的兩點時,進行一次讀取,以後就可以方便的使用了,同 時也節約了託管資源,因為對於靜態成員,一個靜態欄位只標識一個存儲位置。

對一個類無論創建了多少 個實 例,它的靜態欄位永遠都只有一個副本(副本我理解為只有一塊內存 靜態成員存在於內存,非靜態成員需要實例化才會分配內存,所以靜態成員不能訪問非靜態的成員..因為靜態成員 存在於內存,所以非靜態成員可以直接訪問類中靜態的成員.

公用的處理函數,使用靜態方法應該沒有問題..牽涉 到數據共享,靜態變數的函數要多考慮...靜態變數要小心使用..

靜態方法 原理就是共享代碼段 共享代碼段不會產生任何問題 因為代碼段都是給CPU作為"讀取"用的,除非你進行惡意"修改"運行時的代碼段 所以靜態方法是可以放心使用的

靜態變數 原理就是共享數據段 同上 只要沒有進行"寫入"操作就不會產生問題 但是數據通常都是用於讀和寫 所以靜態變數要注意使用

下面是一個使用靜態方法的例子

復制代碼代碼如下:

class Class1 {

[STAThread]

static void Main(string[] args)

{

int i = MyClass.Add(3,5); //調用靜態方法

Console.WriteLine(i);

}

}

class MyClass

{

public static int Add(int x,int y )

{ return x + y ;

}

6. 靜態的方法有什麼特點如何調用靜態方法

靜態方法在類裝載的時候裝載,所以可以直接通過類名.靜態方法名() 來調用。

7. java 靜態函數怎麼調用方法

首先明確一下 在java裡面 函數就是方法 方法就是函數 這兩者是一樣的。
你的問題的意思是在靜態方法裡面怎麼再調用其他方法 還是 怎麼調用靜態方法?
如果是靜態方法裡面怎麼調用其他方法的話,分成調用靜態方法和普通方法。
調用靜態方法不需要實例就可以調用。直接通過類名.靜態方法名去調用。當然也可以用對象名.靜態方法名去調用。
如果是調用成員方法,那就只能通過實例,也就是對象名.成員方法名去調用。

如果是怎麼調用靜態方法。那我上面已經說了 直接通過類名.靜態方法名去調用。當然也可以用對象名.靜態方法名去調用。

8. jfinal 3.0 如何在試圖中調用靜態方法

網頁鏈接

靜態方法調用

JFinal Template Engine 可以以非常簡單的方式調用靜態方法,以下是代碼示例:

#if(com.jfinal.kit.StrKit::isBlank(title))
....
#end

使用方式與前面的靜態屬性訪問保持一致,僅僅是將靜態屬性名換成靜態方法名,並且後面多一對小括弧與參數:類名 + :: + 方法名(參數)。靜態方法調用支持可變參數。與靜態屬性相同,被調用的方法需要使用public static 修飾才可訪問。

如果覺得類名前方的包名書寫很麻煩,可以使用後續即將介紹的me.addSharedMethod(…)方法將類中的方法添加為共享方法,調用的時候直接使用方法名即可,連類名都不再需要。

此外,還可以調用靜態屬性上的方法,以下是代碼示例:

(com.jfinal.MyKit::me).method(paras)

上面代碼中需要先用一對小擴號將靜態屬性取值表達式擴起來,然後再去調用它的方法,小括弧在此僅是為了改變表達式的優先順序。

9. 靜態方法的方法使用

靜態方法與靜態變數一樣,屬於類本身,而不屬於那個類的一個對象。調用一個被定義為static的方法,可以通過在它前面加上這個類的名稱,也可以像調用非靜態方法一樣通過類對象調用。
實例方法必須通過類的實例來使用。實例方法可以使用類的非靜態成員,也可以使用類的靜態成員。
類的靜態方法,靜態變數是在類裝載的時候裝載的。但是要特別注意,類的靜態變數是該類的對象所共有的,即是所有對象共享變數。所以建議盡量少用靜態變數。盡量在靜態方法中使用內部變數。 其中static關鍵字即表示靜態的。聲明靜態方法的語法如下:
<訪問修飾符>static返回類型 方法名(參數列表)
{//方法體} 靜態方法與實例方法唯一不同的,就是靜態方法在返回類型前加static關鍵字。靜態方法的調用有兩種途徑:
(1)通過類的實例對象去調用
調用格式為: 對象名.方法名
(2) 通過類名直接調用
調用格式為: 類名::方法名 我們在使用時要注意:
靜態方法只能訪問類的靜態成員,不能訪問類的非靜態成員;
非靜態方法可以訪問類的靜態成員,也可以訪問類的非靜態成員;
靜態方法既可以用實例來調用,也可以用類名來調用。 #include<iostream>using namespace std;
class CStaticTest{public:CStaticTest(int a){this->a = a;}~CStaticTest(){}
static int add(CStaticTest& c1, CStaticTest& c2){return c1.a + c2.a;}
private:int a;};
int main(){CStaticTest tmp1(1);CStaticTest tmp2(2);int sum1 = tmp1.add(tmp1, tmp2);int sum2 = CStaticTest::add(tmp1, tmp2);
cout << sum1 << endl;cout << sum2 << endl;return 0;} 1. 有靜態屬性的類,一般會定義靜態方法。
2. 沒有屬性的類,一般會定義靜態方法,這樣在使用時,通過類名::方法名即可調用,
而不用先定義對象,再調用,這樣可以省去一行代碼。

10. 公共函數中如何調用靜態方法

靜態方法只能直接訪問靜態成員,無法訪問非靜態成員,如果想要訪問非靜態方法,則實例化該類對象,使用對象名.非靜態方法()的方式來訪問! static是一種訪問修飾符,在java中可以修飾代碼塊、方法和屬性 1、靜態塊:用於在類載入之前完成一些初始化操作,僅會執行一次 2、靜態方法:可以使用類名和對象調用,只能直接訪問靜態成員,無法訪問非靜態成員 3、靜態屬性:可以使用類名和對象名調用,多個對象共享

閱讀全文

與如何請求靜態方法相關的資料

熱點內容
雲南腌豬肉的腌制方法視頻 瀏覽:562
賭運不好怎麼轉運方法 瀏覽:230
數據結構方法的技術有哪些 瀏覽:670
卒中病人的快速判斷方法 瀏覽:620
調色平塗的正確方法 瀏覽:130
防目鏡使用方法視頻 瀏覽:246
襯衣掖入褲子正確方法 瀏覽:657
canmake腮紅使用方法 瀏覽:665
入黨外調最簡單的方法 瀏覽:937
電腦蝸牛快速緩解方法 瀏覽:898
山楂干功效與作用及食用方法 瀏覽:753
如何用簡單的方法掌握值域 瀏覽:35
做信息如何給企業賦能提供方法 瀏覽:915
excel公式的使用方法 瀏覽:995
普洱茶餅正確沖泡方法 瀏覽:968
糖類和苷類的常用鑒別方法 瀏覽:836
湖北小規模殘保金計算方法 瀏覽:344
plc無線連接方法 瀏覽:542
電影作者研究的方法有 瀏覽:981
期貨技術分析方法是一面鏡子 瀏覽:274