Class 被告知使实例变为变量;硬币;“课堂上”;CoinStats";。“什么是”呢;硬币;它能做什么?

Class 被告知使实例变为变量;硬币;“课堂上”;CoinStats";。“什么是”呢;硬币;它能做什么?,class,instance-variables,Class,Instance Variables,在我的java编程课程中,我们使用的是类。我有一个任务,它基本上告诉我要这样做: import java.util.Random; public class Oppgaver5 { public static void main(String[] args) { }//End main }//End class Oppgaver5 class Coin { boolean face; public boolean flip(){ R

在我的java编程课程中,我们使用的是类。我有一个任务,它基本上告诉我要这样做:

import java.util.Random;
public class Oppgaver5 {

    public static void main(String[] args) {

    }//End main    
}//End class Oppgaver5

class Coin {
    boolean face;

    public boolean flip(){
        Random side = new Random();
        face = side.nextBoolean();
        return face;
    }//End flip       

    public boolean getFace(){
        return face;
    }//End getFace    
}//End class Coin
我明白了。但是下一部分告诉我创建另一个类CoinStats和实例变量Coin。我不知道那是什么。你能用它做什么

class CoinStats{
    Coin coin;
    String history;
我应该为助理做的其他事情,如果这样更容易穿:

    public boolean flipCoin(){
    //Flips the coin and saves the result with addResult
    }//End flipCoin

    public boolean getFace(){
    //returns which side of the coin is up now    
    }//End getFace

    private void addResult(boolean result){
    //saves the result in history
    }//End addResult

    public String getHistory(){
    //Returns the history object
    }//End getHistory

}//End class CoinStats

Coin-Coin
表示“创建类Coin的实例并将其命名为‘Coin’”。在java中,以类命名变量是很正常的,如果只使用一个实例的话。之后,您可以访问
CoinStats
类中的
coin.flip
coin.getFace
方法


您还可以使用
硬币美元
来实例该类。然后通过
dollar.flip
dollar.getFace
调用这些方法。您甚至可以使用
Coin CoinStat
来引用它,并使用
CoinStat.flip
CoinStat.getFace
方法,但以大写字母开头变量名是不好的做法,因为这会让您感到困惑。

他们要求您使用名为
Coin
的变量(您刚刚定义的类)。语法
Coin-Coin
是如何声明此新变量并指定其类型。是的。您还可以将其缩短,并使用
public Boolean flipCoin(){return Coin.flip();}
。如果我理解正确,我应该能够做到这一点:
class CoinStats{Coin Coin;public boolean flipCoin(){boolean result=Coin.flip();return result;}}
并返回
true
false
,但当我这样做时,我会得到一个空指针异常。如果我设置
Coin Coin=new Coin()
,然后它就可以工作了…对不起,我错过了。是的,你必须用
Coin Coin=new Coin();
调用Coin的构造函数,即使你没有为该类编写构造函数。