java函數調用
Ⅰ java主函數怎麼調用方法
調用方法:先生成一個對象,用「對象.方法()」的方式調用。
調用說明:java中的main方法是靜態的,用於程序的入口,在靜態方法中無法調用非靜態方法,只能調用靜態方法。想調用靜態方法的話就要先生成該類的一個對象,通過對象調用非靜態方法。
調用舉例:
public class A{
public static void main(String[] args){
A a = new A();
a.aaa();
}
public void aaa(){}
}
Ⅱ java 調用函數有幾種方法
在同一個類中 的方法可以直接調用。 等同於 this.method() 這里這個this.可以省略。
但是 在靜態方法中不能直接調用非靜態的方法。
再有其他的方式就是反射了 可以通過Class對象調用方法 java.lang.reflect
Ⅲ java函數調用
當你
informationvalue=(information)map.get(key);
System.out.println(value);
其實就是調用的 value 的toString方法
如果你沒有在information 類裡面 重寫 toString 方法的話,那麼默認調用的是 Object類的toString方法,也就是類似於輸出
student.information@25154f
這種格式
Object類中的toString類實現比較簡單,其源代碼為:
publicStringtoString(){
returngetClass().getName()+"@"+Integer.toHexString(hashCode());
}
Ⅳ java函數調用(在一個類中怎麼調用另一個類的變數和函數)
import java.util.Scanner;
public class Student {//帶有主函數的類,Score類在下面
String name;
Score score=new Score();//此句有重大嫌疑
public String introce()
{
return(name+"\t"+score.java+"\t"+score.db+"\t"+score.c+"\t"+score.sum()+"\t"+score.avg());//name之後的全部顯示為0
}
public static void main(String args[])
{
Student stu[]=new Student[10];
Score score[]=new Score[10];
Scanner in=new Scanner(System.in);
for(int i=0;i<3;i++)
{
stu[i]=new Student();
score[i]=new Score();
System.out.println("學生"+(i+1)+"的名字:");
stu[i].name=in.next();
System.out.println("學生"+(i+1)+"java成績:");
score[i].java=in.nextFloat();
System.out.println("學生"+(i+1)+"DB成績:");
score[i].db=in.nextFloat();
System.out.println("學生"+(i+1)+"c語言成績:");
score[i].c=in.nextFloat();
}
System.out.println("姓名\tjava成績\tDB成績是\tc語言成績\t總成績\t平均成績");
for(int j=0;j<3;j++)
{
System.out.println(stu[j].introce());
}
}
} //錯誤之二:少了一個右邊大括弧,造成第一個類不完整
class Score {//score類 錯誤地方一:在一個java文件中只允許有一個功能類 去掉public 就好了
float java,db,c;
public float sum()
{
float ssum=java+db+c;
return ssum;
}
public float avg()
{
return sum()/3;
}
}
Ⅳ Java函數調用
public class Stringcs {
int cou;
int n;
long sum;
public static void main(String[] args) { Stringcs stringcs = new Stringcs(3,4);
stringcs.cc();
System.out.println(stringcs.sum);
} //構造,傳入n個數 cou值 public Stringcs(int n,int cou) {
this.n=n;
this.cou=cou;
sum=0;
} //控制第幾次相加 public void cc(){
for (int i = 1; i <= n; i++) {
this.js(i);
}
} //累加
public void js(int ts){
long l = this.sums(ts);
sum+=l;
} //生成 a aa aaa aaa調用的方法
public long sums(int ns){
long sss=cou;
for (int i = 1; i < ns; i++) {
sss=sss*10+cou;
}
return sss;
}
}
Ⅵ 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中方法調用時的寫法
如果是非靜態的方法1調用非靜態的方法2,那麼
非靜態方法2所在類的實例引用.非靜態方法2
public class Test{
public void getMethod(){
Test t=new Test();
t.getTwoMethod();
}
public void getTwoMethod(){
}
}
如果靜態調用靜態:
public class Test{
public static void main(String[]args){
Hello();
}
public void Hello(){
System.out.println("HELLOWORLD")
}
}
如果是繼承的話:
public class a{
public void jj(){}
}
public class b extends a {
public void hh(){
super.jj();
}
}
Ⅷ java函數調用問題
調用靜態方法可以直接用類名,調用非靜態方法必須用對象。
舉例如下:
publicclassA{
//靜態方法
publicstaticvoida1(){
System.out.println("靜態方法");
}
//非靜態方法
publicvoida2(){
System.out.println("非靜態方法");
}
}
測試類:
publicclassTest{
//main方法也是靜態的
publicstaticvoidmain(String[]args){
//創建對象
Aaa=newA();
//通過類名訪問
A.a1();
//通過對象訪問
aa.a2();
}
}
運行結果:
Ⅸ JAVA編程。函數調用
getO().getX()是獲取Point對象 中的X getX()在Point類中 返回的是X
Ⅹ java簡單函數調用例子(詳細說明)
首先要說一下,java調用的是方法,不是函數,函數是在c語言中使用。
簡單的例子
public class a{
public String b(){
String x="I love";
String y=c(x);
System.out.println(y);
}
public String c(String st){
st=st+" China";
return st;
}
}
b方法運行後,會在後台列印出:I love China
希望對你有幫助