溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Java如何實(shí)現(xiàn)方法調(diào)用

發(fā)布時(shí)間:2022-01-04 10:00:27 來(lái)源:億速云 閱讀:243 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(guān)Java如何實(shí)現(xiàn)方法調(diào)用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

  Java的方法調(diào)用
方法(method)的定義:
  1 在java中程序員可以把在一個(gè)程序中多次用到的某個(gè)特定的任務(wù)
定義為方法.這些方法有時(shí)被成為(程序員自定義方法:programmer-defined method).
  而方法可以由方法調(diào)用(method call)來(lái)激活(invoke)以執(zhí)行其他任務(wù).據(jù)個(gè)例子:
老板(調(diào)用者)要求員工(被調(diào)用者)完成一項(xiàng)任務(wù),而老板并不知道工人怎樣完成任務(wù),而工人中
組織者比如車(chē)間主任他接到任務(wù)后,分配給其他一線(xiàn)的工人.方法和它的調(diào)用就象上述者種關(guān)系一樣.
  3 方法調(diào)用的好處,方法使程序員能夠?qū)⒊绦蚰K化,其優(yōu)點(diǎn)在于,1.這種分而治之的方法使軟件的開(kāi)發(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ù)量.類(lèi)型.和次序),這稱(chēng)為方法重載(method overload)當(dāng)調(diào)用一個(gè)重載的方法時(shí),java的編譯器通過(guò)檢查調(diào)用語(yǔ)句中的參數(shù)的數(shù)量,類(lèi)型和次序就可以選擇適當(dāng)?shù)姆椒?方法重載一般用來(lái)創(chuàng)建對(duì)不同類(lèi)型的數(shù)據(jù)進(jìn)行類(lèi)似的操作方法.
  重載方法是根據(jù)方法名及參數(shù)類(lèi)型的組合,參數(shù)的順序?qū)幾g器來(lái)說(shuō)很重要,方法不能以返回值類(lèi)型來(lái)區(qū)分,
  方法重載可以有不同返回值類(lèi)型.但一定要有不同的參數(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中類(lèi)似這些方法還有很多,比如 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)用的常見(jiàn)錯(cuò)誤:
1.在方法的定義中不寫(xiě)返回值類(lèi)型會(huì)產(chǎn)生語(yǔ)法錯(cuò)誤
2.從一個(gè)返回類(lèi)型聲明為void的方法中返回一個(gè)值會(huì)產(chǎn)成語(yǔ)法錯(cuò)誤
3.在方法參數(shù)表的右括號(hào)的加一個(gè)分號(hào)是一個(gè)錯(cuò)誤.
4.傳遞給方法的參量與對(duì)應(yīng)的參數(shù)類(lèi)型不相容是語(yǔ)法錯(cuò)誤
5.在一個(gè)方法中定義另一個(gè)方法將產(chǎn)生語(yǔ)法錯(cuò)誤

感謝各位的閱讀!關(guān)于“Java如何實(shí)現(xiàn)方法調(diào)用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI