0

新しい「時間」クラスを作成しようとしています。

time.java

public class Time{ 
    public int hour,minute;
    public double second;

    public Time(){
        super();
    }
}

main_activity.java

Time newT = new Time();
newT.hour = 3;

しかし、ここでエラーが発生します:newT.hour

エラー(Eclipse)「トークン「時間」の構文エラー、このトークンの後にVariabledeclaratoridが必要です」

4

4 に答える 4

4

hour のアクセシビリティはprivateであるため、別のクラスからアクセスすることはできません。セッターとゲッターを作成します。

public class Time{ 
    private int hour,minute;
    private double second; 

    public Time(){
        super();
    }

    public void setHour(int hour) { 
        this.hour = hour;
    }

    public int getHour() { 
        return hour;
    }
}

今それを設定しますnewT.setHour(3);

編集:エラーを作り直したようです。実際のエラーは、これらの行を配置したためです

Time newT = new Time();
newT.hour = 3;

クラス本体には、次のようなものがあると想定しています。

public class Main {
    Time newT = new Time();
    newT.hour = 3;
}

ただし、クラス本体で変数/メソッド/クラスのみを宣言できるため、そのようなことはできません。これを試して:

public class Main {
    public void myMethod {
        Time newT = new Time();
        newT.hour = 3;
    }        
}
于 2013-01-23T13:27:06.567 に答える
1

セッターおよびゲッターメソッドアプローチを使用します。クラスに2つのパブリックメソッドを作成して、時間の値を設定し、それを取得します。そうすれば、プライベート変数を使用できます。

それ以外の場合は、それらを公開する必要があります。

于 2013-01-23T13:26:01.890 に答える
1

まず、この " private double String second;" 行をどのようにコンパイルしたかを知りたいです。(二重文字列を一緒に:-o)、わかりました。以下は解決策です。

あなたの Time クラスは以下のようになります

 public class Time{ 

        private int hour,minute;
        private double seconds;


        public int getHour() {
            return hour;
        }

        public void setHour(int hour) {
            this.hour = hour;
        }

        public int getMinute() {
            return minute;
        }

        public void setMinute(int minute) {
            this.minute = minute;
        }

        public double getSeconds() {
            return seconds;
        }

        public void setSeconds(double seconds) {
            this.seconds = seconds;
        }
    }

このようなことをして、時間/分/秒を設定して取得します

 Time newT = new Time();
      newT.setHour(1);

また、作成中の新しいクラスに Time をインポートします。

于 2013-01-23T13:32:24.927 に答える
0

あなたが教えてくれなかったエラーが明確に述べているようにprivate、クラス外からフィールドにアクセスすることはできません。

于 2013-01-23T13:24:04.623 に答える