導航:首頁 > 知識科普 > 調用非靜態方法怎麼實現

調用非靜態方法怎麼實現

發布時間:2024-03-15 09:37:32

⑴ java中main方法裡面調用非靜態方法。

靜態方法只能直接訪問靜態成員,無法訪問非靜態成員,如果想要訪問非靜態方法,則實例化該類對象,使用對象名.非靜態方法()的方式來訪問!

static是一種訪問修飾符,在java中可以修飾代碼塊、方法和屬性
1、靜態塊:用於在類載入之前完成一些初始化操作,僅會執行一次

2、靜態方法:可以使用類名和對象調用,只能直接訪問靜態成員,無法訪問非靜態成員

3、靜態屬性:可以使用類名和對象名調用,多個對象共享

⑵ java中如何在靜態方法中實現對非靜態方法的調用,請問各位有沒有具體的例子

public class A{x0dx0a //類A中非靜態方法x0dx0ax0dx0a public void func(){ ...... }x0dx0a x0dx0a //類A中靜態方法(主函數)x0dx0ax0dx0a public static void main(String[] args){x0dx0a A a=new A();//需實例化A的對象後才可以調用A中非靜態方法x0dx0a a.func();x0dx0a }x0dx0ax0dx0a如上面這個簡單的例子,靜態方法對非靜態方法發起調用時,需實例化包含非靜態方法的類的對象。如果類A中靜態方敗凳法需調用類B中非靜態方法時,也需實例化B的對象。x0dx0ax0dx0a原因解釋:類中靜態的方法或者屬性,本質上來講並不是該類的成員,在java虛擬機裝在類的時候,這些靜態的東西已經有了對象,它只是在這個類中"寄居",不需要此枯念通過類的構造器(構造函數)類實現實例化;而非靜態的屬性或者方法,在類的裝載是並沒有存在,需在執行了該類的構造函數後才可依賴該類的實例對象存在。所以在靜態方法中調森困用非靜態方法時,編譯器會報錯(Cannot make a static reference to the non-static method func() from the type A)。x0dx0ax0dx0a不知這么說你懂了沒,如果還有什麼不懂可以繼續問我。

⑶ java主方法如何調用非靜態方法

java主方法調用非靜態方法的步驟:

** * Created by Administrator on 2016/7/25.

*/

public class NOstaticMethod {

//satement new variable name: studentName

public static String studentName = "xxx";

//satetment new variable nmae: country

public static String country;

//satement new variable name: nation

private static String nation;

//satement new variable name: subject

public String subject = "物理";

//satement new variable name: school

private String school;

//create main method

public static void main(String[] args) {

//NOstaticMethod.Method_1(); 在靜態方法main中是不能直接調用非靜態方法Method_1的

//只能通過創建類的對象,再由對象去調用成員方法以及成員變數。

NOstaticMethod wangyan = new NOstaticMethod();

//call methol

wangyan.Method_1();

// String physics= subject;在靜態方法中也是不能訪問非靜態成員變數的

//call not static variable

String physics = wangyan.subject;

System.out.println("在主方法main()中只能通過對象來調用非靜態成員變數subject:" + physics);

}

//create new method name: Method_1()

public void Method_1() {

System.out.println("Method_1是一個公共的、非靜態的方法");

System.out.println("在非靜態方法Method_1中訪問靜態成員變數「學生姓名」(studentName):" + studentName);

System.out.println("在method_1中直接調用非靜態成員變數subject:" + subject);

}

Method_1是一個公共的、非靜態的方法

在非靜態方法Method_1中訪問靜態成員變數「學生姓名」(studentName)

在method_1中直接調用非靜態成員變數subject(科目)

在主方法main()中只能通過對象來調用非靜態成員變數subject

public static void main(String[] args) {

//NOstaticMethod.Method_1(); 在靜態方法main中是不能直接調用非靜態方法Method_1的

//只能通過創建類的對象,再由對象去調用成員方法以及成員變數。

NOstaticMethod wangyan = new NOstaticMethod();

//call methol

wangyan.Method_1();

// String physics= subject; 在靜態方法中也是不能訪問非靜態成員變數的

//call not static variable

String physics = wangyan.subject;

System.out.println("在主方法main()中只能通過對象來調用非靜態成員變數subject:" + physics);

}

⑷ java中main函數怎麼調用外部非static方法

方法可以分為靜態方法和實例方法

在main函數里調用非static方法(實例方法),那麼可以通過創建實例對象,然後來調用實例方法

具體代碼和注釋如下

publicclassFunDemo{
//靜態方法
publicstaticvoidsayHello(Stringname){
System.out.println("Hello"+name);
}
//實例方法
publicvoidsayBye(Stringname){
System.out.println("ByeBye"+name);;
}
//main方法
publicstaticvoidmain(String[]args){

FunDemo.sayHello("tom");//類名.方法名去調用靜態的方法
sayHello("jack");//本類里調用靜態方法,類名就可以省略了

FunDemofn=newFunDemo();//創建本類的實例對象
fn.sayBye("tom");//實例對象.方法名去調用實例方法
fn.sayBye("jack");
fn.sayHello("Word");//雖然實例對象也可以調用靜態方法,但是不推薦這種調用方式
}
}

輸出

Hellotom
Hellojack
ByeByetom
ByeByejack
HelloWord
閱讀全文

與調用非靜態方法怎麼實現相關的資料

熱點內容
科技製作學生小發明超簡單方法 瀏覽:236
嘉寶果樹盆栽快速生長的方法 瀏覽:243
職位評價方法簡單 瀏覽:537
新冠常用疫苗接種方法 瀏覽:460
氣象站相對濕度的測量方法 瀏覽:26
梅毒檢測滴度與定量是兩種方法嗎 瀏覽:967
論文人類進化研究方法 瀏覽:391
小金魚公母的鑒別方法 瀏覽:811
扭腳腕有什麼好處和鍛煉方法 瀏覽:354
牛仔褲縫邊計算方法視頻 瀏覽:477
膽囊癌的鑒別方法 瀏覽:209
26歲青春痘最好的治療方法 瀏覽:946
茴粉皮的製作方法與步驟 瀏覽:469
怎麼學管理學原理與方法 瀏覽:919
湧泉穴最笨取穴方法圖片 瀏覽:947
風濕痹症的治療方法 瀏覽:943
新生兒餵奶瓶姿勢的正確方法 瀏覽:810
不銹鋼字的安裝方法 瀏覽:696
腎積水中醫治療方法 瀏覽:480
原始計算方法 瀏覽:481