アプリ版:「スタンプのみでお礼する」機能のリリースについて

javaで、別クラスの変数を使うにはどうしたらできますか?!
あるクラスで
public String hour ="";
のhourという変数を別のクラスで使いたいです。
どなたかよろしくおねがいします><

A 回答 (2件)

つまり


--- A.java ---
public class A {
 public String hour="";
}

--- B1.java ---
public class B1 {
 public static void main(String[] vars){
  A a = new A();
  a.hour = "ten";
  System.out.println(a.hour);
 }
}
ということ?それとも
--- B2.java ---
public class B2 {
 private A a_;

 public B2(A a){
  a_ = a;
 }

 public static void main(String[] vars){
  A a = new A();
  a.hour = "ten";
  B2 b = new B2(a);
  b.useClassA();
 }

 private void useClassA(){
  System.out.println(a.hour);
 }
}
ということ?

とりあえずどちらもAというクラスのhourという変数をB1またはB2というクラスの中で使用しています。
(ただし、インデントを全角スペースで行っているためコピペしただけの状態ではコンパイルできません)
ただし、普通は他のクラスの変数を直接アクセスできるようにはしません。
そのかわりゲッター・セッターと呼ばれるメソッドを作成して変数値の取得・変更をそこで行い、変数のアクセス指定はprivateにします。
どうしてそうするかは「カプセル化」という語句を調べてみてください。
    • good
    • 1

public class Q7594581 {


public static void main(String[] args) {
Q7594581sub instance = new Q7594581sub();
System.out.println(instance.hour);
}
}
class Q7594581sub {
public String hour = "";
}
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています