簡體   English   中英

引用在嵌套類Java中的main方法中創建的對象

[英]Referencing an object created in main method in nested class Java

我是Java新手,在嵌套類方面有些困難。 我在主方法(comp1)中創建我的內部類的實例,但是當我嘗試在另一個輸出輸出的方法(doCompOutput)中引用它時,出現一個錯誤,即找不到符號comp1或方法doCompOutput

public class Team{

private  String teamName;
private  String name1, name2, name3, name4;

public Team(String _teamName, String _name1, String _name2, String _name3, String _name4){
    setTeam(_teamName, _name1, _name2, _name3, _name4);
}
public void setTeam(String _teamName, String _name1, String _name2, String _name3, String _name4){
    teamName = _teamName;
    name1 = _name1;
    name2 = _name2;
    name3 = _name3;
    name4 = _name4;
}
***TEAM GET METHODS REMOVED TO SHORTEN CODE***

public static void doTeamOutput(){
    System.out.println(team1.getTeamName() + team1.getName1() + team1.getName2() + team1.getName3() + team1.getName4());
}

public static void main(String[] args){
    Team team1 = new Team("Spartans", "chase", "mark", "matt", "jake");
    doTeamOutput();
    Team team2 = new Team("Warriors", "john", "paul", "george", "ringo");
    doTeamOutput();
    Competition comp1 = new Competition("Alpha","Spartans","Warriors",2013);
    doCompOutput();
}

static class Competition {
    String compName;
    String winner;
    String runner;
    int year;

    public Competition(String _compName, String _winner, String _runner, int _year){
        setComp(_compName, _winner, _runner, _year); //set
    }
    public void setComp(String _compName, String _winner, String _runner, int _year){
        compName = _compName;
        winner = _winner;
        runner = _runner;
        year = _year;
    }
    public static void doCompOutput(){
        System.out.println(comp1.getName());
     }
    public String getName()
        return compName;

    ***COMP GET METHODS MOVED TO SHORTED CODE***    
}

}

您的方法doCompOutput()試圖在編譯器不知道的對象上調用方法getName()。

public static void doCompOutput(){
    System.out.println(this.getName());
}

使用該代碼,該方法將輸出調用該方法的對象的compName

您的代碼有很多錯誤。 您應該查閱有關Java基礎的一些教程

暫無
暫無

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

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