簡體   English   中英

將數據變量從方法傳遞給構造器Java

[英]Passing Data Variable from method to Constructor Java

我想在方法中獲取變量sub的值,並將其傳遞給我的構造方法

//這是我的方法

private int sub;
public void getSubj (int sub) {
   this.sub = sub;
}

//這是我的構造函數

public schedule (int sub) {
    subject = sub;
    System.out.print(subject);
}

構造函數完成后調用方法。 在調用類的構造函數之前,不能調用任何類的方法。

您仍然可以在構造函數中調用方法。

public schedule (int sub) {
    subject = sub;
    System.out.print(subject);
    getSubj(sub);
}

您的問題沒有多大意義。

調用構造函數時,您正在從使用該構造函數創建的實例外部傳遞數據。

getSubj方法看起來像一個setter(盡管它的名稱)。 這是在調用構造函數之后更新對象狀態的另一種方法,但是它沒有將任何內容傳遞給構造函數,因為在執行構造函數之前無法調用該對象(除非構造函數調用它,在這種情況下,構造函數會調用該方法)會將數據傳遞給它,而不是相反)。

這樣編寫代碼將更有意義:

private int sub;
public void setSubj (int sub) // renamed from getSubj, since it's a setter
{
    this.sub = sub;
}

public schedule (int sub) 
{
    this.sub = sub;
}

public static void main (String[] args)
{
    schedule s = new schedule (10); // invoke the constructor
    s.setSubj(20); // invoke the setter method to change the state of the instance
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM