在另一个类中调用一个类的一个变量?

时间:2010-11-01 21:06:39

标签: java

您好我是java编程的新手。我在类中有一个实例变量,我应该调用另一个类。根据要求,它不应该是静态的。下面给出的代码##`

public class Card {

    private String no;
    private String text;
    public Vector totalCards = new Vector();

    public String getNo() {
        totalCards.addElement(no);
        return no;
    }

    public void setNo(String no) {
        this.no = no;
    }

    public String getText() {
        totalCards.addElement(text);
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }
}

我需要在另一个类中传递这个“totalCards”向量,而不是将它作为静态。我可以传递这个值。任何人都可以帮助我。任何建议表示赞赏。

6 个答案:

答案 0 :(得分:3)

由于变量“totalCards”是公共的,因此可以通过Card实例直接访问它。

答案 1 :(得分:1)

有点不清楚你的问题究竟是什么,但你首先需要有一个Card实例。然后,totalCards Vector将存在于该Card对象中。

Card myCards = new Card();

现在,有权访问myCards的对象可以通过以下方式访问Vector:

myCards.totalCards

然而,许多人认为将totalCards设为私有并为其做出吸气是更好的做法:

myCards.getTotalCards();

答案 2 :(得分:1)

你只需在课堂上写一下:

public class AnotherClass 
{
  public Class obj1 = new Class();


public String getNo() 
{
    Vector v1 = obj1.totalCards;
    return v1; //or what do you want
}

答案 3 :(得分:0)

您可以简单地将totalCards引用传递给其他类,因为它是公共的。告诉我们更多关于客户类的信息感谢。

答案 4 :(得分:0)

public class Card {
    private String no;
    private String text;
    /* initializing totalCards here is bad, why are you doing this here?  If each
       card has a list of totalCards, consider doing this in the constructor of a
       Card */
    private Vector<Card> totalCards = new Vector();

    public String getNo() {
        //getters should not have side effects like addElement...
        totalCards.addElement(no);
        return no;         
    }

    public Vector<Card> getCards() { 
        return totalCards;
    }

    public void setNo(String no) {
        this.no = no;
    }

    public String getText() {
        //getters should not have side effects like addElement...
        totalCards.addElement(text);
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }

}

答案 5 :(得分:0)

另一个类需要有一个Card的实例。例如,通过创建新实例:

public class TheOtherClass {
    private Card myCard = new Card();

    public void doSomething() {
        myCard.totalCards.doAnotherThing();
    }
}

顺便说一下:直接访问其他类的属性被认为是不好的风格 - 尝试使用setter和getter:

public class Card {
    private Vector<Card> totalCards = new Vector();
    public void getTotalCards() {
        return totalCards;
    }
}