您好,歡迎來到賦能網(wǎng)!

java函數(shù)調(diào)用的三種方式是什么?java函數(shù)調(diào)用方法

賦能網(wǎng) 2023-05-09 82

函數(shù)是定義在類中的一段獨(dú)立的代碼塊,用來實(shí)現(xiàn)某個(gè)功能,函數(shù)的主要作用是為了提高代碼的復(fù)用性。那java函數(shù)調(diào)用的三種方式是什么下面來我們就來給大家講解一下java函數(shù)調(diào)用方法。

第一種: 函數(shù)立即調(diào)用執(zhí)行模式。這里面的this指向window;

function add(a, b)
{
    console.log(this);
    return a + b;
}
add(); //this === window //true

第二種:通過構(gòu)造函數(shù)創(chuàng)建對(duì)象,然后調(diào)用自己的方法;這里的this指向?qū)ο蟊旧?也可說是函數(shù)的調(diào)用者;

<script>
    function fun(){
        this.show=function(){
            console.log(this);
        }
    }
    var f=new fun();
    f.show();//f對(duì)象;</script>

第三種:通過構(gòu)造器調(diào)用函數(shù):this指向構(gòu)造出來的對(duì)象;

<script>
    function Cat(){
        console.log(this);
    }
    Cat.prototype.show=function(){
        console.log(this);
    }
    var t=new Cat();//cat{};//通過構(gòu)造函數(shù)創(chuàng)建的對(duì)象,相當(dāng)于直接調(diào)用函數(shù),沒有返回值的情況下,得到的是cat本身;
    t.show();//cat{}對(duì)象;
    console.log(t==this);//false;
    Cat.prototype.show();//show{};
    Cat();//直接調(diào)用window
</script>

一:主類中自定義函數(shù)

在主類中,如果想要在main函數(shù)中調(diào)用自定義的其他方法,則這個(gè)函數(shù)需要使用static關(guān)鍵字定義,否則會(huì)報(bào)錯(cuò)Cannot make a static reference to the non-static method xx from the type xx,調(diào)用的時(shí)候直接用函數(shù)名就可以了,如下:

public class create_function
{
    public static void main(String[] args)
    {
        int s = jia(5, 4);
        System.out.println(s);
    }
    static int jia(int a, int b)
    {
        System.out.println("我是自定義相加函數(shù),我被調(diào)用了!!");
        return a + b;
    }
}

下面使用static關(guān)鍵字定義了一個(gè)“+”運(yùn)算的函數(shù),在main中調(diào)用時(shí),直接使用函數(shù)名,括號(hào)中加參數(shù)就可以了。輸出結(jié)果如下:

我是自定義相加函數(shù),我被調(diào)用了!!
9

二:自定義類中函數(shù)的調(diào)用

自定義類中函數(shù)的調(diào)用有兩種情況,靜態(tài)函數(shù)和非靜態(tài)函數(shù),非靜態(tài)函數(shù)的調(diào)用需要先聲明一個(gè)類實(shí)例,通過實(shí)例調(diào)用。靜態(tài)函數(shù)的調(diào)用可以通過實(shí)例,也可以直接使用類名調(diào)用(建議使用這種,要不會(huì)造成內(nèi)存空間的浪費(fèi)。),如下:

public class create_function
{
    public static void main(String[] args)
    {
        Y y = new Y();
        int s2 = y.cheng(3, 5);
        System.out.println(s2);
        int s3 = Y.chu(8, 2);
        System.out.println(s3);
    }
}
class Y
{
    int cheng(int a, int b)
    {
        System.out.println("我是自定義類中的乘方法,我被調(diào)用了!");
        return a * b;
    }
    static int chu(int c, int d)
    {
        System.out.println("我是自定義類中的除方法,我被調(diào)用了!");
        return c / d;
    }
}

在下面,自定義了一個(gè)Y類,cheng方法是非靜態(tài)方法,必須通過實(shí)例y調(diào)用,chu方法是靜態(tài)方法,使用類名直接調(diào)用。輸出結(jié)果如下:

我是自定義類中的乘方法,我被調(diào)用了!
15
我是自定義類中的除方法,我被調(diào)用了!
4

這就是java函數(shù)調(diào)用的三種方法,大家可以根據(jù)需求選擇一種進(jìn)行使用,java函數(shù)主要就是為了提高代碼的復(fù)用性,因此java函數(shù)的使用還是很重要的!最后大家如果想要了解更多初識(shí)java知識(shí),敬請(qǐng)關(guān)注賦能網(wǎng)。


本文鏈接:

本文章“java函數(shù)調(diào)用的三種方式是什么?java函數(shù)調(diào)用方法”已幫助 82 人

免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(chǎn)權(quán)侵權(quán)的法律責(zé)任!

本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579

如果本頁(yè)不是您要找的課程,您也可以百度查找一下: