java言語超初心者です。以下のコードを入力しました。
class MyCls1 {
String name;
int count;
public void look() {
System.out.println("名前" + name + "個数" + count);
}
}
class MyCls2 {
String name;
int count;
public void look() {
System.out.println("なまえ" + name + "こすう" + count);
}
public String toString() {
String str = "MyCls2:name = " + name + "count=" + count;
return str;
}
}
public class JaCls06 {
public static void main(String args[]) {
MyCls1 bbb = new MyCls1();
bbb.name = "AAA";
bbb.count = 111;
bbb.look();
System.out.println(bbb);
MyCls2 dd = new MyCls2();
dd.name = "BBB";
dd.count = 2222;
dd.look();
System.out.println(dd);
String ee;
ee = dd.toString();
System.out.println(ee);
}
}
実行結果が
名前AAA個数111
MyCls1@19821f
なまえBBBこすう2222
MyCls2:name = BBBcount=2222
MyCls2:name = BBBcount=2222
なんですが、2行目以降の結果がどの行を反映して出てきたのかが全くわかりません。どうか、教えてください。初歩的な質問で申し訳ないです。
No.5ベストアンサー
- 回答日時:
>これは今勉強に使っている本の
>練習問題です。
そんな本は、処分することを個人的にはお勧めします。
まずは、次に上げる統合開発環境Eclipseの解説書のどちらか(または両方)を
入手することを強くお勧めします。
これらの解説書には、ほぼ全ての機能が包括的に解説されていますので、
実用上も辞書的に活用できて非常に有益です。
Eclipse3.3 完全攻略 宮本 信二
¥ 2,940
http://www.amazon.co.jp/Eclipse3-3-%E5%AE%8C%E5% …
開発のプロが教える標準Eclipse 3.3完全解説 (デベロッパー・ツール・シリーズ) 鈴村 幸太郎 ほか
¥ 2,940
http://www.amazon.co.jp/%E9%96%8B%E7%99%BA%E3%81 …
それと、Javaの解説書としては、次のリンク内に示したものをお勧めします。
http://okwave.jp/qa3929030.html
Javaの入門書には、全くレベルの低いものが沢山あります。
インターネット時代ですから、簡単な入門レベルの情報は、WEB上に散在しており、
個人的にはそれで十分かと思います。
せっかくお金をつぎ込むのなら、長い将来にわたって役に立ちそうな、本格的な
書籍を購入するべきだと考えます。
ご親切にありがとうございます。
参考にする本は、おっしゃる通りたくさん出回っていて、
全くの初心者である私にはどれが良い本なのかが
わからなくて、困ってもいました。
大変参考になりました。
No.4
- 回答日時:
>class MyCls {
>...
>int ins_hensu = 0;
>...
>public void ins_method() {
>...
これは、何かの問題なのでしょうか?
可能ならば、こんな問題は解かない事が得策です。
クラス名から変数名,メソッド名が基本的なJavaの名付規約に
反していますし、全く無意味な名前になっていることがまず問題です。
この様な問題を解いていっても、全くオブジェクト指向設計の考え方が
身に付くわけではないので、注意が必要です。
言ってみれば、覆面算や数独といった数字パズルをいくら解いても、
数学のセンスは全く磨かれないのと同じです。
オブジェクト指向設計の最大の利点のひとつは、実用的で現実的な問題を
オブジェクトとして定義できて、その解決手段を単純なメソッドの組合せで、
現実に即した方法で解決が図れるという点です。
ですから、非現実的なオブジェクト(クラス)を定義することには、
全く意味がありませんし、その様なクラスならば誰が見ても理解できないような
クラスを作ることも簡単にできますし、それが解ったからと言って何の意味も
ありません。
この問題を考えるような時間が有るのならば、統合開発環境を入手して、
デバッガやプロファイラ等の使い方からJavaDocの書き方等をマスターすべきです。
いまどき、テキストエディターでプログラミングを書いて、コマンドプロンプトで
コンパイルするような方法を知っていることは、これも全く意味がないでしょう。
No.3
- 回答日時:
意見が分かれるところですが、私は、今のあなたのレベルならば、eclipseなどの開発環境を使うのはお勧めしません。
例に出ているプログラムの出力内容が、どうしてそうなるのかということが、キチンと理解できるようになる事が大事だと思います。
簡単にヒントだけ書きます。
・System.out.println(引数);の引数は、参照型の場合は暗黙のうちにtoString()メソッドが呼ばれます。
・toString()メソッドをオーバーライドしていないクラスは、スーパークラスのtoString()メソッドが呼び出されます。
・ObjectクラスのtoString()メソッドの実装は「クラス名@XXXX」という文字列を返します。
本を何度も読み返してみてください。
そして何度もソースコードを追いかけてみてください。
理解できるまで何度も繰り返してください。
本当にJavaを理解したいのであれば、この回り道が必要だと考えます。
※なんちゃってサンデーアマグラマーで良ければ、いきなりeclipseで楽すればいいと思いますけどね。(eclipse本当に楽ですからねぇ)
No.2
- 回答日時:
何がしたいのかわかりませんが、どの行を反映して出力されているかの回答は通りです。
public class JaCls06 {
public static void main(String args[]) {
MyCls1 bbb = new MyCls1();
bbb.name = "AAA";
bbb.count = 111;
bbb.look();
⇒名前AAA個数111
System.out.println(bbb);
⇒MyCls1@19821f
MyCls2 dd = new MyCls2();
dd.name = "BBB";
dd.count = 2222;
dd.look();
⇒なまえBBBこすう2222
System.out.println(dd);
⇒MyCls2:name = BBBcount=2222
String ee;
ee = dd.toString();
System.out.println(ee);
⇒MyCls2:name = BBBcount=2222
}
}
dyna_1550さんのアドバイス通り、トレースすれば一発でわかります。
上記はeclipseのデバッグによりステップオーバーで確認しました。
(ものの1分とかかりません)
回答ありがとうございます。
Java入門の本の通りに進めているのですが、何度読んでもわからないために質問させていただきました。
常に煮詰まってますが、がんばります。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java final 1 2022/06/10 22:49
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c++,ある関数のクラスから別の...
-
クラス間でのデータ参照
-
内部クラスのインスタンスを外...
-
Java リフレクションについて
-
リフレクション
-
Java
-
java-別クラスの変数の使い方を...
-
関数内の変数に<summary>コメン...
-
整数値を任意のオブジェクトを...
-
リレーションエンティティクラ...
-
RPGの主人公、町人、敵キャラの...
-
Javaアプリケーションについて
-
違うクラスからの変数の共有化
-
二つの変数の値を入れ替えるメ...
-
C# log4netの使い方
-
エクセルVBAで、条件に一致する...
-
3年間同じクラスになる確率
-
インスタンス参照でアクセスで...
-
ワイルドカード<?>と型パラメー...
-
「天声人語」をインターネット...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数内の変数に<summary>コメン...
-
クラス間でのデータ参照
-
c++,ある関数のクラスから別の...
-
範囲外の数値を代入したらエラ...
-
C#にて別クラスの関数を使いたい
-
C#でほかのファイルにある自作...
-
C++でfriendクラスにしているの...
-
java-別クラスの変数の使い方を...
-
親クラスから子クラスへアクセス。
-
構造 他のクラスの構造体を別...
-
ひとつのファイルにクラスは1つ?
-
Java
-
import と extends について
-
継承したクラス側のクラス名の取得
-
SwingでgetContentPaneのエラー...
-
Java リフレクションについて
-
C#のクラスライブラリでメッセ...
-
アップキャスト、ダウンキャス...
-
C# インターフェイスの実装
-
visual studioのデザイナ画面で...
おすすめ情報