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

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

如何多次運行一個類?

如何多次運行一個類?

江戶川亂折騰 2021-07-06 09:11:00
我想多次運行一個課程,假設我有一個課程public class setTextClass {    public void setTextClass (String text){        this.text = text;    }    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        textview.setText(text);    }    public void run{        textview.setText(text);    }}所以,正如我所見,如果我開始上課:setTextClass hi = new setTextClass("hello");onCreate 上的代碼會正確運行嗎?(這是我的第一個問題)然后,如果我運行代碼:hi.run()run 方法上的代碼將被執行,并且還將傳遞在初始化時分配的文本變量?。這是我的第二個問題。我正在學習 Java,抱歉,如果這是一個非?;镜膯栴}
查看完整描述

2 回答

?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

首先,在 Stack Overflow 答案中很難用基本的 java 和 Android 誤解來解決問題。SO 不是針對這類問題而設計的,這就是為什么您會得到反對票的原因。所以,也就是說,我會盡力幫助你:


第一個回答:“onCreate 上的代碼會正確運行嗎?(這是我的第一個問題)”


不。你可能因為onCreateAndroid 的 Activity 類的方法而混淆了,對吧?但是構造函數對于java中的所有類都是通用的,而onCreate對于某些Android復雜類,如Activity或Fragment ,它是一種特定的方法。它是與這些類的生命周期相關的方法,您應該在此處閱讀更多相關信息。


因此,在您展示的這個簡單類中,不會在構造函數中調用 onCreate(除非您在構造函數中顯式調用它)。您應該將文本分配給構造函數中的 textView。


第二個問題:“run 方法上的代碼將被執行,并且還會傳遞在初始化時分配的文本變量?”


是的,它將運行并使用分配給this.text構造函數的變量。但是,您缺少此全局變量的聲明才能使其正常工作:


public class setTextClass {


    private TextView textView;

    private String text; // You have to declare your global variables here


    public void setTextClass (TextView textView, String text){ // You should pass your TextView in the constructor and assign it to your global variable, so it's not null when you assign text to it;

       this.textView = textView;

       this.text = text;

       textview.setText(text); // Moved from your onCreate method to the constructor

    }


    public void run{

        textview.setText(text);

    }

}

我希望我能把自己說清楚,但你應該學習更多的 Java 并做一些基本的教程來更好地理解這門語言和它的概念,所以你可以在這里提出更具體的問題。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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