5時20分
パソコンを起動、YouTubeとeclipsecを立ち上げる。
今日も楽しんでやっていこう!!
★Innerclass インナークラス
まずは前日の7日(8日目)に学んだ、Innerclassの復習。
Innerclassについて、動画を見ながら学んだものの、ハッキリ言って全く分からなかった、、
そもそもInnerClassってなに??(どうやって人に説明する??)
なんで1つのクラスの中にようわからんクラスを入れるの??
そんな感じで頭がショートして終わったのが8日目。
「今日は、絶対にInnerClassを理解するぞ!!」という意気込みのもと、まずは何が分からないのかを整理した。
・Innerclassは、外部のクラス内に設置して、外部クラスからメソッドを取り出せるということは分かった。
・やっているうちに、「mainclass」と「Outerclass」と「Innerclass」の違いすら分からなくなって混乱してきた。
・どっからどのデータを持ってきているのか訳がわからなくなった。
うん、とりあえず、mainclass、Outerclass、Innerclassの違いを理解しよう。
(AI先生より)
Class:家みたいなもの
mainclass:玄関みたいなもの
Outerclass:部屋みたいなもの
Innerclass:部屋の中にあるクローゼットみたいなもの
なるほど!!
なんとなくイメージが沸いてきた。
このイメージを持ちながら、再度、手本のコードと睨めっこしてみる。
(mainclass)
OuterClass outer = new OuterClass();
OuterClass.InnerClass inner = outer.newInnerClass();
inner.display();
OuterClass.InnerClassてなんやねん、、
なんでドットがついてるねん、、
これまでもMapの時とかでちょいちょい見たけど「ドット」てなんやねん、、
これまでは「ふーん」と流していた「ドット」が気になりだした、、
AI先生に聞いてみよう!!
(AI先生より)
ドット演算子(”.”)は、
・オブジェクトのメンバー(パラメーター・動作)にアクセス
・パッケージ内のクラスへアクセス
という役割を持つ。
なるほど、、
100%理解したわけでもないけど、とにかくこの場合、「OuterClassがInnerClassにアクセスする」という理解でいいのかな、、
AI先生も「コード書いているうちに理解できるよ!!」って言ってくれてるし、ドットについてはこれでオッケーかな。
いや、もうちょいピンポイントで聞いてみるか、、
「OuteClass.InnerClassとはどういう意味ですか?」
(AI先生より)
OuterClass → 部活みたいなもの
InnerClass → 部員みたいなもの
OuteClass.InnerClass ⇒ OuterClassという部活に所属しているInnerClassという部員
なるほど!
少し理解度が上がった気がする!!!
よし、次にいこう!!
newってなんやねん
これも「ふーん」って流してたけど、よくよく考えると、newってなんやねん、、
(AI先生より)
変数=箱のようなもの←この箱にデータを入れられるようにするために「new」を使う。
おもちゃ箱にたとえると、、
おもちゃ箱 myBox ←これだけだと中身が入ってないただの箱
⇓ おもちゃの名前や値段を入れたい
おもちゃ箱 myBox = new おもちゃ箱();
これで「myBox」という名前でおもちゃの情報を入れられる「新しいおもちゃ箱」が作られたということになります。
なるほど、なるほど!!
なんかイメージは分かった!!
これでInnerClassについて理解できた気がする!!
よし、自分でコードを書いてみよう!!
<InnerClassを使って部員リストを出そう>
public class 部員データ
String[]name = {“スグル”,”アタル”,”真弓”};
class 部員メソッド{
for(String 部員名 : name){
System.out.println(“部員名” + 部員名);
これをサブクラスにコーディング、メインクラスで実行コードを書き、実行!!!
はい、エラー。
forの中のnameが機能していないのはエラーで分かるけど、、
ほんまに分からん、、
こっからどれくらい時間が経っただろうか、、
このコードをAI先生に投げてみたところ、、
「class 部員メソッド」内のメソッドが定義されていないとのこと、、
AI先生の指示に従い、forの上に「void 部員名を抽出」と記載。
すると、、
コンソール画面に
スグル
アタル
真弓
と記載された!!
ありがとう!!
AI先生!!
本日は、この後にInterfaceについて勉強したけど、長くなるので、この記事はここらへんで終わりにします!!
さあ、引き続き楽しもう!!!