亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Java中初始化變量時返回對象?

如何在Java中初始化變量時返回對象?

瀟瀟雨雨 2021-04-09 17:19:37
有什么方法可以在Java中聲明這樣的靜態變量,例如,通過它們我可以在初始化后返回java對象我們可以像這樣在python中做到這一點schedule.every(10).minutes.do(job)在哪里,通過調用every(10)。分鐘我只是初始化分鐘變量。是否有可能在Java中做這樣的事情?像這樣的東西:Myclass.function().variable.anothorFunction();編輯:就方法而言,我也可以像這樣在Java中輕松地做到這一點。public static MyClass function(){      return new MyClass();}
查看完整描述

2 回答

?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

我首先假定python代碼段有效,因為python具有生成器和yield。哪個Java沒有。在Java中,方法僅返回一個值,并且僅返回一個值。在JVM平臺上可以得到的最接近的是Scala提供的循環/收益結構?;蛘?,也許是Java 8 Streams。

但是,鑒于給出的評論,我仔細查看了您的示例,最終找到了這個python模塊。整個過程歸結為schedule.every()返回一個調度程序對象,該對象根據通過“流利”接口傳遞的持續時間簡單地調用傳遞給它的函數 job。

您可以在Java中做非常相似的事情,在Java中將一個static方法放在某個類上,該方法只是創建一些Scheduler類的實例,然后例如您傳遞一個lambda / method引用。

但是,當然,Java也具有內置的機制來執行此操作,例如ScheduledExecutorService。


查看完整回答
反對 回復 2021-04-28
?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

假設schedule是對象引用而不是類引用,則可以this在方法完成后返回,從而輕松地做到這一點。請參閱以下簡化示例:


public class MyClass {


   public OtherClass variable;


   public MyClass function(){

       // do stuff


       return this;

   }

}


public class OtherClass {


    public void anotherFunction(){

        // do other stuff

    }

}

然后可以這樣使用:


MyClass myObj = ...;


myObj.function().variable.anotherFunction();

更好的方法是直接返回variable自身:


public OtherClass function(){

    // do stuff


    return variable;

}

然后可以這樣使用它:


myObj.function().anotherFunction();


查看完整回答
反對 回復 2021-04-28
  • 2 回答
  • 0 關注
  • 284 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號