ขนาดวิดีโอ: 1280 X 720853 X 480640 X 360
แสดงแผงควบคุมโปรแกรมเล่น
เล่นอัตโนมัติ
เล่นใหม่
本当に素晴らしい講座をありがとうございます!とても分かりやすく、取り組みやすいのでとても助かってます!
分かりやすすぎて鼻血出そうJava研修で困ってた内容なので大変助かりました🙇🙇
ここは難しいですよねーこの先Webアプリ講座やDB講座なども公開してるので、また分からなくなったら鼻に詰めるティッシュを用意して戻ってきてください😂
Java初心者です。とってもわかりやすいですが、難しく感じるところなので何回も動画見返したいと思います!
にくまんさん、こんにちは!コメントありがとうございます😀たしかに、インタフェースは難しいですよね💦Java入門講座6章までのうち、一番ややこしいのが4-6~4-8かなと思います。動画を見返してもらって、もし分からないことがあれば聞いてください✨
半日調べてもわからなかった抽象クラスとインターフェースの使い分け方が3分で理解できて感動しました✨ありがとうございます。
抽象クラスとインタフェースの使い分けはなかなか難しいですよね。この動画が役に立ったみたいで良かったです😄
ホワイトボードの字綺麗すぎます!見やすい😮
枝を張る、色を塗るとか専門的な単語では分かりにくい概念をうまく表現されていて、とも分かりやすかったです。
ロレムさん、コメントありがとうございました!ホワイトボードは少しでも分かりやすさにつながればと思って、超ゆっくり丁寧に書いてます😄インタフェースは難しく感じる人が多いので、概念がうまく伝わって良かったです!
現在SESプログラマーですが、教えるのが好きでプログラミング講師業考えてます。いつも勉強になります。
ねもてぃーさん、こんにちは。コメントありがとうございます!講師業は楽しいですよ😄教えるのが好きな人は向いてると思います。準備にはものすごーく時間がかかりますが、僕はその時間が結構好きなんですよね✨講師業の面でも何か気になることがあれば、遠慮なく聞いてください!
@@SekaChan さんありがとうございます!何かありましたら相談させていただきます🙇♂️
他言語で業務アプリの開発を行っております。Javaは今回初めてです。とてもわかりやすく、ここまで継続できています。ありがとうございます。インタフェースについて教えてください。「Person」から継承された「Student」に「Englishable」を実装する場合、どのように記載するのでしょうか、教えてください。白板でのご説明のイメージです。
Tm Mtさん、コメントありがとうございました!多言語で開発してるのにJavaも勉強してるってスゴイですね✨インターフェースについて、疑問が解決したみたいで良かったです!他の人がこの質問を見たときのために書いておくと‥> class Student extends Person implements Englishableとなりますね。
いつもわかりやすい動画をありがとうございます^^初歩的な質問失礼します😅インターフェースはよく現場で使うと思うのですが、どのような現場で使われるか知りたいです!少しイメージがわきづらくて…具体例などがあるとより理解が深まるなと思い…お忙しいとは思いますがよろしくお願いします❗
やきちーず@エンジニアになる人さん、コメントありがとうございました!本当は現場で使われるレベルの具体例を話せたら良かったのですが、ここまでの講座内容だけで理解してもらえる例を考えたところ動画内で話した例えが精いっぱいでした‥(現場レベルではありませんが)4章最後の演習でインタフェースを使う問題を用意してあるので、そちらのプログラムも見てもらうと参考になるかなと思います。なお、6章のクラスライブラリやデザインパターンまで進めると、インタフェースの本質や具体例に触れられますよ😄
動画内でお話しされたインターフェースの使い方って、抽象クラスを使っても出来るんではないですか?イマイチ違いがわからなかった、、
いつもお世話になっております。質問させてください。4:49あたりで、抽象クラスは、ひとつしか継承できないんでしょうか?複数のサブクラスを持つことができませんか?
prob apriさん、コメントありがとうございました。(抽象クラスかどうかにかかわらず)継承できるクラスは1つだけですね。また、複数のサブクラスを持つことはできます。例えば、クラス定義で> class Baseball extends Club> class Football extends Clubのように、「extends ~」の「~」に指定できるクラスは1つだけです。またこの場合、Clubクラスは複数のサブクラス(BaseballとFootball)を持っています。
サブクラスの方から見て、継承できる(している)クラスは1つだけというのですね。😀@@SekaChan
インタフェースの質問の件、課題にありました。解決しました、すみません。
インターフェイスと抽象クラスの違いはわかるのですが、使い分けがわかりづらくて、、こう言う場合はインターフェイス。こう言う場合は抽象クラスを使う。みたいな使い所の違いって何ですか?
ららさん、コメントありがとうございました。インタフェースと抽象クラスの使い分けは、(5:08以降の説明と被ってしまいますが)クラスやインタフェースをどのように組み合わせてシステム全体を作っていきたいかによりますね😄そのインタフェース・抽象クラスだけを見たらどちらでも同じような機能を作れるんですが、他のクラスとの関連性を考えるとどちらがより適しているかが分かりやすいかなと思います。
質問失礼いたします。System.out.println(English.LANGUAGE);のところで、LANGUAGEの場所に定数にした[英語]が入るのは分かったのですが、実行した際にEnglishable.英語と表示されないことに疑問を持ちました。勉強し始めてまだ日が浅いため初歩的な質問で大変恐縮なのですが、お答えをいただけたら幸いです。よろしくお願いしたします。
K Seinoさん、質問コメントありがとうございました!初歩的な質問でも全然OKですよ😄むしろ、勉強し始めて日が浅いのにインタフェースを学んでるのはスゴイなぁと感じました!変数(定数)を参照するとき、自クラスにある場合は「変数(定数)名」だけで使えます。他クラスの変数(定数)を参照する場合は、どのクラスの?を知らせるために「クラス名.変数(定数)名」と書く必要があるんですね。Student7.javaのdisplayEng()において、「name」は自クラスにあるので【name→Mike】と置き換わります。「LANGUAGE」はEnglishableにあるので【Englishable.LANGUAGE→[英語]】と置き換わります。「Englishable.LANGUAGE」全体で「EnglishableのLANGUAGE」という意味の1つの定数だと考えてください✨
@@SekaChanなるほど、なんとなくですが理解できました!ありがとうございます!
継承の 「extends 〇〇」と、実装の「implements ◇◇」の併用は可能ですか?また、二つのインターフェースを一つのクラスに同時に実装できるか、教えていただきたいです
かとうともきさん、コメントありがとうございました!継承と実装の併用・複数のインタフェースの実装は、両方とも可能ですよ👍もしクラスAを継承して、インタフェースBとインタフェースCを実装したい場合は「class クラス名 extends A implements B, C」と書きますね(extends→implementsの順番です)
Englishableインターフェースの3行目のvoid display();はなくても実行できるのですが、これを入れる意味はなんでしょうか?教えていただけると幸いです。
暇潰しの動画日記さん、コメントありがとうございました。Englishableインタフェースの3行目に void displayEng(); を入れることで、(Englishableインタフェースを実装している)StudentクラスとBaseballクラスに displayEng()メソッドの定義を強制させることができます。実際の開発現場では作るクラスがたくさんあり、エンジニアごとに分担することがほとんどなんですね。そのとき、StudentクラスとBaseballクラスの作成者に「displayEng()メソッドを作ってね」と伝えた(仕様書に書いた)だけでは、実際に作ってくれる保証はありません。そこで、Englishableインタフェースを実装する形にしておけばdisplayEng()メソッドがないとコンパイル時点でエラーになるため、メソッド定義を強制させることができます😄
@@SekaChan なるほど、、抽象クラスを継承した時と同じということですね!コメント一つにここまで丁寧に返してくれて本当に嬉しく思います。現在、Javaの職業訓練校に通っており、復習がてらせかチャン見てます!学校の先生よりわかりやすくて最高です!今後もよろしくお願いします。
Englishableのインターフェースは、実装したクラスにdisplayEng()の定義を強制させるという意味があるのが理解できました。実際に、BaseballクラスでdisplayEng()を定義しなかったらエラーになりました。EnglishableのインターフェースのLANGUAGEがよくわからなかったです。BaseballクラスでLANGUAGEを使用しなくても、エラーにはならなかったです。
ニコルさん、コメントありがとうございました。インターフェースは実装したクラスにメソッドの定義を強制させるものですね。一方、インターフェース内に定数を定義しても、そのインターフェースを実装したクラスに影響を与えることはありません。クラスからその定数を利用しても良い(しなくても良い)、というイメージですね🍀
初コメントで質問失礼いたします。StuSample7クラスとStudent7クラスについてなのですが、StuSample7内でStudent7型のクラスを生成していると思うのですが、StuSample7とStudent7には直接的なつながりがないのにStuSample7クラスはStudent7型がどのような方をしているのかわかっている振る舞いをしている気がします。StuSample7はStudent7を継承も実装もしていないのに何故Student7がどんな型をしているのか分かるのでしょうか?eclipseでコードを書く場合、同じsrcファイル?同じパッケージ?に入っているならば別のjavaファイルでクラスを定義しても中身は共有されているということなのでしょうか?
StuSample7クラスからStudent7クラスの情報が分かるのは、2つのクラスファイルが同じフォルダ(パッケージ)の中に入っているためですね。Student7クラスを利用するときはStudent7.classを参照するのですが、このとき、StuSample7.classと同じフォルダ内を探しにいく仕組みになっています。仮にStudent7.classを別のところに移動すると、StuSample7はコンパイルも通らなくなりますね。
クラス二つ以上出ると大変だがなんとかする
Javaを使ったポートフォリオを作りたいので、一通り復習しているのですがイマイチ現場での使われ方?が想像できない。。経験者からみた未経験のポートフォリオの企画ってどんなところを見ているのでしょうか。
コメントありがとうございました。それぞれの会社や人事担当者によって、人材の評価基準(何を重要視するか)は変わりますからね。ポートフォリオをどう使うかも、見る人によって変わる気がします。
インタフェースは4行目があった場合も抽象メソッドですかね。
フィールドって引数のことですか??
明日javasilverの試験んだああ
勉強してきた成果を100%出し切ってきてくださいいい✊
@@SekaChan 62パーでしたw
@@だぁさん-b2g そんなああ‥
動画とても分かりやすかったです。自分で他に勉強している時の質問です。インターフェイスを別のクラスで扱う時に、インプリメンツがなく、インターフェイス型?のメンバ変数とインターフェイスのメソッドをオーバーライドしたものが記載されたプログラムではどうなっているのでしょうか?インターフェイスはリポジトリーでクラスはサービスでした。質問がふわっとしていて申し訳ありませんが、よろしくお願いします。
D-アラニルD-アラニンさん、コメントありがとうございました!せっかく質問をくれたので回答したい気持ちはあるんですが‥すみません。何を聞かれているのかが分からないです🙏「インターフェイス型のメンバ変数」とあるので、おそらく何かのインターフェイスを実装したクラスのオブジェクトをメンバ変数として持っているようですね。また「他に勉強しているときの質問」ということで、もしできるようなら、その教材?を扱っている方に直接質問してもらう方がより明確な回答をもらえる可能性が高いかなと感じました。
PHP、SQLにも興味があるんですが流石に扱わないですよね?
PHPはリクエストが少ないのでまだ手付かずですが、SQLはこちらの動画で解説してますよ😄●【有料級】JavaでDB接続するJDBCプログラミングを完全解説th-cam.com/video/wu4YCDyJFPg/w-d-xo.html
@@SekaChan ありがとうございます。神すぎる! 無料でこの授業はエグすぎますよ~。本当に有料レベル
インターフェイスはすべてメソッドが抽象化されている場合で、抽象クラスを継承する場面での抽象化クラスって、一部のメソッドは抽象化メソッドなく具象メソッドで、派生クラスではそれらのメソッドを使用できるという私の認識なのですが、この動画の説明は「枝を張る」とかの例えを早口で言っていて違いがわからなかったです。
Java8から言語拡張されインタフェースでdefaultメソッドを使えるようになってます。ですので、インターフェイスでもdefaultキーワードを使用することで具象メソッドが記述できるかと.
本当に素晴らしい講座をありがとうございます!とても分かりやすく、取り組みやすいのでとても助かってます!
分かりやすすぎて鼻血出そう
Java研修で困ってた内容なので大変助かりました🙇🙇
ここは難しいですよねー
この先Webアプリ講座やDB講座なども公開してるので、また分からなくなったら鼻に詰めるティッシュを用意して戻ってきてください😂
Java初心者です。
とってもわかりやすいですが、難しく感じるところなので何回も動画見返したいと思います!
にくまんさん、こんにちは!
コメントありがとうございます😀
たしかに、インタフェースは難しいですよね💦
Java入門講座6章までのうち、一番ややこしいのが4-6~4-8かなと思います。
動画を見返してもらって、もし分からないことがあれば聞いてください✨
半日調べてもわからなかった抽象クラスとインターフェースの使い分け方が3分で理解できて感動しました✨
ありがとうございます。
抽象クラスとインタフェースの使い分けはなかなか難しいですよね。
この動画が役に立ったみたいで良かったです😄
ホワイトボードの字綺麗すぎます!
見やすい😮
枝を張る、色を塗るとか専門的な単語では分かりにくい概念をうまく表現されていて、とも分かりやすかったです。
ロレムさん、コメントありがとうございました!
ホワイトボードは少しでも分かりやすさにつながればと思って、超ゆっくり丁寧に書いてます😄
インタフェースは難しく感じる人が多いので、概念がうまく伝わって良かったです!
現在SESプログラマーですが、教えるのが好きでプログラミング講師業考えてます。いつも勉強になります。
ねもてぃーさん、こんにちは。
コメントありがとうございます!
講師業は楽しいですよ😄教えるのが好きな人は向いてると思います。
準備にはものすごーく時間がかかりますが、僕はその時間が結構好きなんですよね✨
講師業の面でも何か気になることがあれば、遠慮なく聞いてください!
@@SekaChan さん
ありがとうございます!
何かありましたら相談させていただきます🙇♂️
他言語で業務アプリの開発を行っております。
Javaは今回初めてです。
とてもわかりやすく、ここまで継続できています。ありがとうございます。
インタフェースについて教えてください。
「Person」から継承された「Student」に「Englishable」を実装する場合、
どのように記載するのでしょうか、教えてください。
白板でのご説明のイメージです。
Tm Mtさん、コメントありがとうございました!
多言語で開発してるのにJavaも勉強してるってスゴイですね✨
インターフェースについて、疑問が解決したみたいで良かったです!
他の人がこの質問を見たときのために書いておくと‥
> class Student extends Person implements Englishable
となりますね。
いつもわかりやすい動画をありがとうございます^^
初歩的な質問失礼します😅
インターフェースはよく現場で使うと思うのですが、どのような現場で使われるか知りたいです!
少しイメージがわきづらくて…
具体例などがあるとより理解が深まるなと思い…
お忙しいとは思いますがよろしくお願いします❗
やきちーず@エンジニアになる人さん、コメントありがとうございました!
本当は現場で使われるレベルの具体例を話せたら良かったのですが、ここまでの講座内容だけで理解してもらえる例を考えたところ動画内で話した例えが精いっぱいでした‥
(現場レベルではありませんが)4章最後の演習でインタフェースを使う問題を用意してあるので、そちらのプログラムも見てもらうと参考になるかなと思います。
なお、6章のクラスライブラリやデザインパターンまで進めると、インタフェースの本質や具体例に触れられますよ😄
動画内でお話しされたインターフェースの使い方って、抽象クラスを使っても出来るんではないですか?イマイチ違いがわからなかった、、
いつもお世話になっております。質問させてください。4:49あたりで、抽象クラスは、ひとつしか継承できないんでしょうか?複数のサブクラスを持つことができませんか?
prob apriさん、コメントありがとうございました。
(抽象クラスかどうかにかかわらず)継承できるクラスは1つだけですね。また、複数のサブクラスを持つことはできます。
例えば、クラス定義で
> class Baseball extends Club
> class Football extends Club
のように、「extends ~」の「~」に指定できるクラスは1つだけです。
またこの場合、Clubクラスは複数のサブクラス(BaseballとFootball)を持っています。
サブクラスの方から見て、継承できる(している)クラスは1つだけというのですね。😀@@SekaChan
インタフェースの質問の件、課題にありました。解決しました、すみません。
インターフェイスと抽象クラスの違いはわかるのですが、使い分けがわかりづらくて、、
こう言う場合はインターフェイス。
こう言う場合は抽象クラスを使う。みたいな使い所の違いって何ですか?
ららさん、コメントありがとうございました。
インタフェースと抽象クラスの使い分けは、(5:08以降の説明と被ってしまいますが)クラスやインタフェースをどのように組み合わせてシステム全体を作っていきたいかによりますね😄
そのインタフェース・抽象クラスだけを見たらどちらでも同じような機能を作れるんですが、他のクラスとの関連性を考えるとどちらがより適しているかが分かりやすいかなと思います。
質問失礼いたします。
System.out.println(English.LANGUAGE);のところで、LANGUAGEの場所に定数にした[英語]が入るのは分かったのですが、実行した際にEnglishable.英語と表示されないことに疑問を持ちました。
勉強し始めてまだ日が浅いため初歩的な質問で大変恐縮なのですが、お答えをいただけたら幸いです。
よろしくお願いしたします。
K Seinoさん、質問コメントありがとうございました!
初歩的な質問でも全然OKですよ😄
むしろ、勉強し始めて日が浅いのにインタフェースを学んでるのはスゴイなぁと感じました!
変数(定数)を参照するとき、自クラスにある場合は「変数(定数)名」だけで使えます。
他クラスの変数(定数)を参照する場合は、どのクラスの?を知らせるために「クラス名.変数(定数)名」と書く必要があるんですね。
Student7.javaのdisplayEng()において、「name」は自クラスにあるので【name→Mike】と置き換わります。
「LANGUAGE」はEnglishableにあるので【Englishable.LANGUAGE→[英語]】と置き換わります。
「Englishable.LANGUAGE」全体で「EnglishableのLANGUAGE」という意味の1つの定数だと考えてください✨
@@SekaChanなるほど、なんとなくですが理解できました!ありがとうございます!
継承の 「extends 〇〇」と、実装の「implements ◇◇」の併用は可能ですか?また、二つのインターフェースを一つのクラスに同時に実装できるか、教えていただきたいです
かとうともきさん、コメントありがとうございました!
継承と実装の併用・複数のインタフェースの実装は、両方とも可能ですよ👍
もしクラスAを継承して、インタフェースBとインタフェースCを実装したい場合は
「class クラス名 extends A implements B, C」
と書きますね(extends→implementsの順番です)
Englishableインターフェースの3行目のvoid display();はなくても実行できるのですが、これを入れる意味はなんでしょうか?教えていただけると幸いです。
暇潰しの動画日記さん、コメントありがとうございました。
Englishableインタフェースの3行目に void displayEng(); を入れることで、(Englishableインタフェースを実装している)StudentクラスとBaseballクラスに displayEng()メソッドの定義を強制させることができます。
実際の開発現場では作るクラスがたくさんあり、エンジニアごとに分担することがほとんどなんですね。
そのとき、StudentクラスとBaseballクラスの作成者に「displayEng()メソッドを作ってね」と伝えた(仕様書に書いた)だけでは、実際に作ってくれる保証はありません。
そこで、Englishableインタフェースを実装する形にしておけばdisplayEng()メソッドがないとコンパイル時点でエラーになるため、メソッド定義を強制させることができます😄
@@SekaChan なるほど、、
抽象クラスを継承した時と同じということですね!
コメント一つにここまで丁寧に返してくれて本当に嬉しく思います。現在、Javaの職業訓練校に通っており、復習がてらせかチャン見てます!学校の先生よりわかりやすくて最高です!今後もよろしくお願いします。
Englishableのインターフェースは、実装したクラスにdisplayEng()の定義を強制させるという意味があるのが理解できました。実際に、BaseballクラスでdisplayEng()を定義しなかったらエラーになりました。
EnglishableのインターフェースのLANGUAGEがよくわからなかったです。
BaseballクラスでLANGUAGEを使用しなくても、エラーにはならなかったです。
ニコルさん、コメントありがとうございました。
インターフェースは実装したクラスにメソッドの定義を強制させるものですね。
一方、インターフェース内に定数を定義しても、そのインターフェースを実装したクラスに影響を与えることはありません。
クラスからその定数を利用しても良い(しなくても良い)、というイメージですね🍀
初コメントで質問失礼いたします。
StuSample7クラスとStudent7クラスについてなのですが、StuSample7内でStudent7型のクラスを生成していると思うのですが、StuSample7とStudent7には直接的なつながりがないのにStuSample7クラスはStudent7型がどのような方をしているのかわかっている振る舞いをしている気がします。StuSample7はStudent7を継承も実装もしていないのに何故Student7がどんな型をしているのか分かるのでしょうか?
eclipseでコードを書く場合、同じsrcファイル?同じパッケージ?に入っているならば別のjavaファイルでクラスを定義しても中身は共有されているということなのでしょうか?
StuSample7クラスからStudent7クラスの情報が分かるのは、2つのクラスファイルが同じフォルダ(パッケージ)の中に入っているためですね。
Student7クラスを利用するときはStudent7.classを参照するのですが、このとき、StuSample7.classと同じフォルダ内を探しにいく仕組みになっています。
仮にStudent7.classを別のところに移動すると、StuSample7はコンパイルも通らなくなりますね。
クラス二つ以上出ると大変だがなんとかする
Javaを使ったポートフォリオを作りたいので、一通り復習しているのですが
イマイチ現場での使われ方?が想像できない。。経験者からみた未経験のポートフォリオの企画ってどんなところを見ているのでしょうか。
コメントありがとうございました。
それぞれの会社や人事担当者によって、人材の評価基準(何を重要視するか)は変わりますからね。
ポートフォリオをどう使うかも、見る人によって変わる気がします。
インタフェースは4行目があった場合も抽象メソッドですかね。
フィールドって引数のことですか??
明日javasilverの試験んだああ
勉強してきた成果を100%出し切ってきてくださいいい✊
@@SekaChan 62パーでしたw
@@だぁさん-b2g そんなああ‥
動画とても分かりやすかったです。自分で他に勉強している時の質問です。インターフェイスを別のクラスで扱う時に、インプリメンツがなく、インターフェイス型?のメンバ変数とインターフェイスのメソッドをオーバーライドしたものが記載されたプログラムではどうなっているのでしょうか?インターフェイスはリポジトリーでクラスはサービスでした。
質問がふわっとしていて申し訳ありませんが、よろしくお願いします。
D-アラニルD-アラニンさん、コメントありがとうございました!
せっかく質問をくれたので回答したい気持ちはあるんですが‥すみません。何を聞かれているのかが分からないです🙏
「インターフェイス型のメンバ変数」とあるので、おそらく何かのインターフェイスを実装したクラスのオブジェクトをメンバ変数として持っているようですね。
また「他に勉強しているときの質問」ということで、もしできるようなら、その教材?を扱っている方に直接質問してもらう方がより明確な回答をもらえる可能性が高いかなと感じました。
PHP、SQLにも興味があるんですが流石に扱わないですよね?
PHPはリクエストが少ないのでまだ手付かずですが、SQLはこちらの動画で解説してますよ😄
●【有料級】JavaでDB接続するJDBCプログラミングを完全解説
th-cam.com/video/wu4YCDyJFPg/w-d-xo.html
@@SekaChan
ありがとうございます。
神すぎる!
無料でこの授業はエグすぎますよ~。
本当に有料レベル
インターフェイスはすべてメソッドが抽象化されている場合で、抽象クラスを継承する場面での抽象化クラスって、一部のメソッドは抽象化メソッドなく具象メソッドで、派生クラスではそれらのメソッドを使用できるという私の認識なのですが、この動画の説明は「枝を張る」とかの例えを早口で言っていて違いがわからなかったです。
Java8から言語拡張されインタフェースでdefaultメソッドを使えるようになってます。ですので、インターフェイスでもdefaultキーワードを使用することで具象メソッドが記述できるかと.