2013-03-11 147 views
0

我正在做一個基本的程序,它創建一個具有某些屬性的對象,它工作正常,但我需要加載它作爲一個獨立的程序本身,所以我創建了另一個名爲Lanzador的類,該類調用另一個類的構造函數,以便它可以創建對象。「.class expected」錯誤從另一個類的構造函數調用main方法時

進出口新的這個,所以我真的不知道我在做什麼在這裏:

public class Lanzador 
{ 
    public static void main(String args[]) { 
     TipodeTirada tirada = new TipodeTirada(String,String,int,String,boolean,int,boolean); 

    } 
} 

的問題是,我不知道如何真正做到這一點,因爲它仍然給了我一個「int.class 「預計。

我該怎麼做才能讓我在啓動程序時輸入屬性(stirng,int等)?

非常感謝。

回答

1

您需要提供實際值給您的構造函數而不是類型關鍵字。傳入關鍵字只會讓編譯器抱怨它的字面值。相反,你可以使用,(例如):

new TipodeTirada("some value", "value2", 100, "value 3" ,false, 200, true); 
+0

但是,如果我提供直接的話不應該將我的程序限制爲1個對象?我想有一個項目的數組 – user2157887 2013-03-11 17:53:28

+0

不知道我遵循,你是_creating_一個'TipodeTirada'對象並在構造函數中傳遞一些參數爲它創建。對於無限參數列表,請考慮使用[varargs](http://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html) – Reimeus 2013-03-11 18:03:39

1
TipodeTirada tirada = new TipodeTirada("a","b",1,"c",false,2,true); 

你需要發送的實際值構造器

注: 「A」, 「B」 一切皆虛擬值放入值這在你的場景中 有意義。

0

此:

TipodeTirada tirada = new TipodeTirada(String,String,int,String,boolean,int,boolean); 

不中Java存在。聲明的方法即使,你將不得不放棄一個名稱爲您的參數:

public void myFunction(String param1, int param2) 
{ 
    ... 
} 

它在C language存在,但它的另一個問題。

在這裏,你要創建的TipodeTirada一個實例,所以你必須調用方法時傳遞的實際值,例如:

TipodeTirada tirada = new TipodeTirada("String 1","String 2",1,"String 3",true,2,false); 

假設你有一個類TipodeTirada這樣的:

public class TipodeTirada { 
    String name, surname, value; 
    int age, weight; 
    boolean bool1, bool2; 
} 

然後你有你的構造函數裏面是這樣的:

public TipodeTirada(String name,String surname,int age,String value,boolean bool1,int weight,boolean bool2) 
{ 
    this.name = name; 
    this.surname = name; 
    // etc... 
} 

所以你正在做的是創建一個方法,你現在在你的main裏面調用,它將你的參數值賦給你的TipodeTirada的實例字段。

相關問題