導航:首頁 > 知識科普 > java主函數怎麼調用非靜態方法

java主函數怎麼調用非靜態方法

發布時間:2025-01-02 01:45:11

『壹』 java Main函數怎麼調用其他函數。 其他類。

主函數main前必須有static修飾符,static表示是靜態。
一般,在靜態的方法中,若要|-直接-|調用其他方法,那麼被調用的也必須是靜態。
你的程序中包含兩個部分
方法getInt() 和主函數main 其中主函數是靜態(main必須是靜態)。
那麼要在main中直接調用getInt()是不可以了,因為getInt沒有用static修飾,也就是說getInt不是靜態。
將public void getInt() 修改成 public static void getInt() ,追加靜態修飾符static後可直接調用。
主函數main修改為
public static void main(String[] args)
{
getInt(); //這里調用了上面的方法

System.out.println("總共有括弧對數:");
}

返回值:
有些方法是帶有返回值的,取決於你的用途。能不能帶返回值取決於void修飾符
普通方法,無返回值void修飾 。如 public void fangfa()這是無返回值的
public int fangfa() 這個是有返回值的,而且返回值必須是int
舉個例子
public int getPlayercounts()
{
int playercount = 0 ;//一般先初始化一個相應的變數待用(重要)

for (int i = 0 ; i < 99 ; i ++) //一些相關的計算和方法開始..

playercount ++ ;
return playercount; //返回一個int值(重要,而且是必須)

}
當你的方法不是用void修飾 而是用其他數據類型修飾,均是要有返回值的,也就是說在方法的結束為止至少要有一個return + 相應的數據類型的變數 來結束。
那麼返回值究竟有什麼意義呢?
看下面這個例子、
public static int getPlayercounts() //注意我用了static 這是一個靜態方法
{
int playercount = 0 ;//一般先初始化一個相應的變數待用(重要)
for (int i = 0 ; i < 99 ; i ++) //一些相關的計算和方法開始..
playercount ++ ;
return playercount; //返回一個int值(重要,而且是必須)
}

public static voin main(String[] args)
{
System.out.println("一共有"+getPlayercounts()+"個玩家");

}

看出來了吧,getPlayercounts()執行後 會獲得執行時得到的int數,在一些需要最後得到某個結果的方法中,用含有返回值的方法是非常方便的。

==============================================
你的代碼完全修改後如下,因為你需要的是得到括弧數,所以將你的原有方法改成一個返回int值得方法。
public class java
{
public static int getInt()// 原來是 public void getInt() ,修改後增加了static修飾, int替換了void
{
String strChar="a(bc)()()dnn()()j";
int iX=0;
int iY=0;
for(int p=0; p<strChar.length();p++)
{
String getstr=strChar.substring(p,p+1);
if(getstr.equals("(")){iX++;}
if(getstr.equals(")")){iY++;}
}
return Math.min(iY, iX);//取兩者之間的最小值(即括弧對數)作為返回值
}
public static void main(String[] args)
{
System.out.println("總共有括弧對數:"+getInt());
}
}

郁悶 寫了半天發現你已經認可了。。

『貳』 java 在主函數中調用函數的方法

調用方法:先生成一個對象,用「對象.方法()」的方式調用。
調用說明:java中的main方法是靜態的,用於程序的入口,在靜態方法中無法調用非靜態方法,只能調用靜態方法。想調用靜態方法的話就要先生成該類的一個對象,通過對象調用非靜態方法。
調用舉例:
public class A{
public static void main(String[] args){
A a = new A();
a.aaa();
}
public void aaa(){}
}

『叄』 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);

}

『肆』 是否可以從一個static方法內部發出對非static方法的調用

(1) 問題分析

探討static方法與非static方法之間的調用關系。

(2) 核心答案講解

在Java中,static方法無法直接調用非static方法。static方法屬於類,而非static方法關聯於對象,需先創建對象後調用。因此,若在static方法內嘗試調用非static方法,因未創建對象,非static方法無法正確關聯至對象,導致調用失敗。

(3) 問題擴展

static關鍵詞用於標記全局或靜態成員。它修飾的變數為靜態變數,方法為靜態方法,而靜態代碼塊則在類載入時執行。

靜態變數無需實例化即可訪問,靜態方法可通過類名調用,無需創建對象。

(4) 結合項目中使用

1.工具類常使用static定義方法,簡化對象創建與方法調用,減少代碼冗餘。例如UUIDUtils。

2.單例模式通過靜態方法實現,確保類內只存在一個實例,避免多處創建對象,提高代碼效率。

『伍』 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

『陸』 在Java 中非static方法如何調用

說的很清楚了 先實例化再使用
就是先new一個對象,再用這個對象調用它的方法

閱讀全文

與java主函數怎麼調用非靜態方法相關的資料

熱點內容
高中美術教學方法和建議 瀏覽:259
手機保存電池方法 瀏覽:475
幻覺治療方法 瀏覽:605
四年級脫式簡便方法計算講解 瀏覽:677
大神行測資料分析方法 瀏覽:315
判斷呼吸驟停方法圖片 瀏覽:536
醋怎麼泡黑豆方法 瀏覽:232
黃晶真假鑒別方法 瀏覽:905
如何有效祛除黑頭的土方法 瀏覽:381
盤點的技巧和方法 瀏覽:659
彈簧扣安裝方法 瀏覽:706
如何用中醫方法打敗痛經看這里 瀏覽:32
老人腿部變黑的治療方法 瀏覽:444
折疊浴室安裝方法 瀏覽:778
三軸螺母推力計算方法 瀏覽:26
家用路由器更換安裝方法視頻 瀏覽:294
問卷採用什麼方法進行分析 瀏覽:394
釣魚雨傘的使用方法 瀏覽:604
古代用什麼方法止咳 瀏覽:379
成員方法存放在哪裡 瀏覽:545