![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
Javaでprivate変数を他クラスから書き換えたいです
調べてみたら
http://d.hatena.ne.jp/devworks/20090129/1233211971
がヒットしたのですが
どうもうまくいきません
エラーなどはなくどうすればいいかわかりません
誰かサンプルソースなど書いてくださらないでしょうか?
回答よろしくお願いします
No.4ベストアンサー
- 回答日時:
自分の環境で確認したらちゃんとprivate変数更新できましたよ^^
以下ソース
【private変数を持ったクラス Test2.java】
public class Test2 {
private String val = "初期値";
public String getVal(){
return val;
}
}
【private変数に変更を加えたいクラス Test1.java】
public class Test1 {
Test2 obj = new Test2();
// 初期値確認
System.out.println(obj.getVal());
Field f = null;
f = obj.getClass().getDeclaredField("val");
f.setAccessible(true);
f.set(obj, "更新値");
// 変更後確認
System.out.println(obj.getVal());
}
【実行結果】
>初期値
>更新値
No.2
- 回答日時:
キーワード「java getter setter」でGoogle画像検索しても分かりやすい図解がすぐヒットしなかったので,
キーワード「java アクセサメソッド」でGoogle画像検索して上位にヒットしたイラストが掲載されていたページがこちら。
http://www.atmarkit.co.jp/ait/articles/0404/17/n …
JavaBeansという固有名詞が登場していますが,ごく一般的なJavaプログラミングにおいても,リンク先で解説されているコーディング書式を用いています。
No.1
- 回答日時:
これでいいじゃん。
public class A {
private int value;
public void setValue(int aValue) { value = aValue; }
}
というか、そこに書いてあることは普通にプログラムする上では全く不要なテクニックです。
使う必要があるのはごく一部のフレームワークのコーディング時ぐらいでしょう。
この回答への補足
実はマインクラフトというゲームのMODを作っていて
できるだけ既存クラスを書き換えたくないんですよ・・・
なのでprivate変数を他のクラスから書き換えたいんですが・・・
putのnameには変数の名前をいれてobjにはインスタンスを渡せばいいんですよね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
中カッコ{}だけの記述について
-
NoSuchMethodErrorが解決できま...
-
JSP/Servletのパラメータの受け...
-
Javaでlog4jを使ってログ出力を...
-
Javaで日本語の出力が文字化けする
-
プログラミングの問題です。大...
-
System.exit()の値を取得したい
-
変数を動的に利用するには?
-
System.err. printlnとSystem.o...
-
ダブルクォーテーションのrepla...
-
C言語 重複しない4ケタの乱数...
-
javaで質問です。 文字列2023/2...
-
VBAで配列の計算
-
Log4jで機能毎に別ファイルへ出...
-
Path型をString型へ変換する(Java)
-
Java配列でNullPointerExceptio...
-
getStringの値がNULLの時の処理
-
JAVAのServletで、画像表示につ...
-
ORA-01858: 数値を指定する箇所...
-
サーブレットPrintWriterについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数を動的に利用するには?
-
中カッコ{}だけの記述について
-
プログラミングの問題です。大...
-
NoSuchMethodErrorが解決できま...
-
Javaでlog4jを使ってログ出力を...
-
System.exit()の値を取得したい
-
コンストラクタの引数の中のnew?
-
Javaで日本語の出力が文字化けする
-
インタフェイス実装と抽象クラ...
-
randomで
-
Java プログラム public class ...
-
日本語が文字コードによっては...
-
Socketの接続のタイムアウトを...
-
GetterとSetterをやったのに。
-
javaで特定の文字列から特定の...
-
JSP/Servletのパラメータの受け...
-
(1)を表示するには
-
【初心者です】javaで平均値を...
-
javaのプログラミングで作るRPG...
-
【java】同ディレクトリ別ファ...
おすすめ情報