這篇文章給大家分享的是有關(guān)Java如何實(shí)現(xiàn)方法調(diào)用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(成都創(chuàng)新互聯(lián)).為客戶提供專業(yè)的四川電信科技城機(jī)房,四川各地服務(wù)器托管,四川電信科技城機(jī)房、多線服務(wù)器托管.托管咨詢專線:18982081108
Java的方法調(diào)用
方法(method)的定義:
1在java中程序員可以把在一個(gè)程序中多次用到的某個(gè)特定的任務(wù)
定義為方法.這些方法有時(shí)被成為(程序員自定義方法:programmer-defined method).
2 而方法可以由方法調(diào)用(method call)來(lái)激活(invoke)以執(zhí)行其他任務(wù).據(jù)個(gè)例子:
老板(調(diào)用者)要求員工(被調(diào)用者)完成一項(xiàng)任務(wù),而老板并不知道工人怎樣完成任務(wù),而工人中
組織者比如車間主任他接到任務(wù)后,分配給其他一線的工人.方法和它的調(diào)用就象上述者種關(guān)系一樣.
3方法調(diào)用的好處,方法使程序員能夠?qū)⒊绦蚰K化,其優(yōu)點(diǎn)在于,1.這種分而治之的方法使軟件的開發(fā)
更易于管理,2.另一個(gè)優(yōu)點(diǎn)是"軟件的復(fù)用性"即利用已有的方法構(gòu)成新的程序,這一點(diǎn)也是面向?qū)ο蟪绦蛟O(shè)計(jì)的
重點(diǎn)突出的一點(diǎn).3.就是在于避免程序中的代碼的重復(fù)使用.將代碼打包成方法就可以通過(guò)調(diào)用方法,在程序中的幾個(gè)不同的位置執(zhí)行該代碼.
從而加快程序執(zhí)行速度.
下面用一個(gè)例子可以很好的說(shuō)明方法的調(diào)用.
1 //Fig.1-1:SquareInt.java
2 import java.awt.Container;
3 import javax.swing.*;
4 public class SquareInt extends JApplet{
5 public void init() {
6 String output="";
7 JTextArea outputArea=new JTextArea(10,20);
8 Container c=getContentPane();
9 c.add(outputArea);
10 int result;
11 for(int x=1;x<=10;x++){
12 result=square(x);
13 output+="The square of"+x+"is"+result+"
";
14 }
15 outputArea.setText(output);
16 }
17 public int square(int y)
18 { return y*y}
19 }
20 }
此例是一個(gè)計(jì)算平方的applet,其中的循環(huán)控制將1-10的平方數(shù)在applet的Container中顯示出來(lái).
我們來(lái)逐步分析其中的方法調(diào)用:
1.程序第7行中 JTextArea outputArea=new JTextArea(10,20);聲明了 JTextArea 引用 outputArea,并賦值給方法JTextArea調(diào)用結(jié)果.
方法JTextArea outputArea=new JTextArea(10,20);返回一個(gè)applet的內(nèi)容窗格引用,可以顯示多行文本的GUI構(gòu)件.
2.同樣的第8行Container c=getContentPane();聲明了Contanier引用c,并賦值給方法c=getContentPane()調(diào)用結(jié)果.這個(gè)方法可以返回一個(gè)applet的內(nèi)容窗格引用,可用于在applet中顯示文本框,
而c.add(outputArea);把outputArea引用的JTextArea GUI構(gòu)件放入對(duì)象applet中.使applet可以顯示它
3第15行outputArea.setText(output);使用方法setText把outputArea的文本置為output串
4而上述3種方法可以用這樣的語(yǔ)言來(lái)通俗描述:
我現(xiàn)在創(chuàng)建一個(gè)對(duì)象叫outputArea 然后在用JTextArea中的方法 顯示一個(gè)10行20列的文本框,(目的達(dá)到),然后那我又想把它能放入applet中,于是就
又創(chuàng)建對(duì)象c 而c引用了Container中的getContentPane()方法.(ok 成功了)然后在用方法setText將文本顯示出來(lái).
5.方法重載:方法可以定義幾個(gè)同名的方法,只要這些方法具有不同的參數(shù)集合(參數(shù)阿數(shù)量.類型.和次序),這稱為方法重載(method overload)當(dāng)調(diào)用一個(gè)重載的方法時(shí),java的編譯器通過(guò)檢查調(diào)用語(yǔ)句中的參數(shù)的數(shù)量,類型和次序就可以選擇適當(dāng)?shù)姆椒?方法重載一般用來(lái)創(chuàng)建對(duì)不同類型的數(shù)據(jù)進(jìn)行類似的操作方法.
重載方法是根據(jù)方法名及參數(shù)類型的組合,參數(shù)的順序?qū)幾g器來(lái)說(shuō)很重要,方法不能以返回值類型來(lái)區(qū)分,
方法重載可以有不同返回值類型.但一定要有不同的參數(shù)表.
例如上例就可以使方法重載
import java awt.*;
import javax.swing.*;
public class MethodOverload extends JApplet{
JTextArea.outputArea;
public void init(){
outputArea=new JTextArea(2,20);
Container c=get ContentPane();
c.add(outputArea);
outputArea.setText("The square of integer 7 is"+square(7)+"
The square of double 7.5 is"+square(7.5));
}
public int square(int x)
{
return x*x;
}
public double square(double y)
{
return y*y;
}
}
此程序就是根據(jù)程序中返回的值來(lái)確定 return的方法.
總結(jié):在java中類似這些方法還有很多,比如 Integer.parseInt JOptionPane.showMessageDialog
大多數(shù)這些方法很好的體現(xiàn)了 java的 upcasting思想.所以方法的調(diào)用在java程序設(shè)計(jì)中是很重要的.而方法的調(diào)用就象在做飯一樣,java中的api好比各種蔬菜佐料.
它們現(xiàn)在就擺在你的面前,而你現(xiàn)在只需要用這些蔬菜佐料用你自己的手藝(方法)來(lái)給我們做一道豐盛的晚餐(程序).并不需要你去知道這菜是怎么來(lái)的,怎么種的菜,怎么配的料.一切都看你的了.
注:java中方法調(diào)用的常見錯(cuò)誤:
1.在方法的定義中不寫返回值類型會(huì)產(chǎn)生語(yǔ)法錯(cuò)誤
2.從一個(gè)返回類型聲明為void的方法中返回一個(gè)值會(huì)產(chǎn)成語(yǔ)法錯(cuò)誤
3.在方法參數(shù)表的右括號(hào)的加一個(gè)分號(hào)是一個(gè)錯(cuò)誤.
4.傳遞給方法的參量與對(duì)應(yīng)的參數(shù)類型不相容是語(yǔ)法錯(cuò)誤
5.在一個(gè)方法中定義另一個(gè)方法將產(chǎn)生語(yǔ)法錯(cuò)誤
感謝各位的閱讀!關(guān)于“Java如何實(shí)現(xiàn)方法調(diào)用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!