JavaのクラスライブラリとAPIドキュメントを使いこなそう【Java入門講座】6-1 クラスライブラリ

Поділитися
Вставка
  • Опубліковано 5 вер 2024

КОМЕНТАРІ • 15

  • @user-sn4ji9ch7n
    @user-sn4ji9ch7n 2 роки тому +8

    今現在26歳 ずっと通訳の仕事をしていましたが頭打ちになり、Java開発関連の仕事をしたいと思い勉強しています。
    私はprogate,paiza,ほかのUA-camの講座、あと今職業訓練でICTエンジニア科で学んでいますが、菅原さんがダントツで分かりやすいです。相性もあるかもしれませんが、ぜひJavaシルバー試験対策の動画もお願いします。この動画を見ている人は、おそらくJavaシルバーの資格は取りたいと考えてる人が多いと思います!
    4/9日から見始めましたが、やっと6章来ました。特に5章の例外処理は非常にわかりやすかったです。
    追加でthisの説明を単体でやってくれたりしたら嬉しいです!!!
    いつもありがとうございます!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    • @SekaChan
      @SekaChan  2 роки тому +3

      プログラミング勉強さん、こんにちは。
      嬉しいコメントをありがとうございました!!
      通訳の仕事からJava開発関連の仕事というのは、大きなチャレンジですね!
      それだけのwebの講座や職業訓練を受けてきて、すごく頑張っている様子が伝わってきます👍
      4/9から見始めてもう6章っていうのも、すごい勢いですね!!
      それだけの「勉強する力」を持っていれば、きっとJava開発の仕事でうまくいくと思います✨
      これからも動画で背中を押してきたいと思っているので、ぜひ一緒に頑張っていきましょう!!
      Javaシルバーの試験対策やthisの解説動画については検討してみますね。
      リクエストありがとうございました!!

  • @onigiriomusubi5704
    @onigiriomusubi5704 2 роки тому +5

    いつもわかりやすい講座をありがとうございます。
    Java言語を学ぶのにとても役立っていて、大変ありがたいです。
    ところで本筋とは離れた疑問ですが、よく書籍などであるクラスのインスタンスメソッドをObject#equalsのようにクラス名とメソッド名の間に「#」を挟んで表記します。
    ではクラスメソッドはどのように表記するのでしょうか?
    ふと思った疑問ですが、ネットで調べてもわかりませんでした。

    • @SekaChan
      @SekaChan  2 роки тому +2

      6600V HVさん、こんにちは。
      嬉しいコメントをありがとうございます!
      また、良い質問をありがとうございました✨
      僕の場合、クラスメソッドには「.」を使ってInteger.parseIntのように表記することが多いですね。
      (プログラムと同じで分かりやすいため)
      ただ厳密にいうと、「#」や「.」の使い方は言語によって、また、人によって違います。
      クラス名とメソッド名の区切り文字には「#」「.」「::」がよく使われますが、Javaの公式ドキュメント(APIドキュメント)でもこの3つが混在しています。
      例えば下のClassクラスでは、(クラスメソッド・インスタンスメソッド関係なく)「::」と「.」が混在していますね。
      docs.oracle.com/javase/jp/17/docs/api/java.base/java/lang/Class.html
      そのため、文脈に合わせて意味を読み取る必要があるのかなと思います。

    • @onigiriomusubi5704
      @onigiriomusubi5704 2 роки тому +2

      早速の返事をありがとうございます。
      独学で学んでいるとちょっとした疑問で躓く事が多く、こうして身近に質問出来る事がとてもありがたいと思います。
      これからも動画Up頑張って下さい。
      応援させて頂きます!

  • @rzekao
    @rzekao 2 роки тому +6

    いつも動画参考にさせて頂いております。今回の動画のSystem.out.printlnの部分なのですがフィールド(メンバ変数)がメソッドを持つ状態(今回の場合はoutメンバ変数がprintlnメソッドを持つ)がよく理解できなかったのですが他に参考になる例などはありますか?

    • @SekaChan
      @SekaChan  2 роки тому +16

      RIO OTSUKAさん、質問コメントありがとうございました!
      たしかに、ここは分かりにくいですよね💦
      他の人もつまづきやすいところなので、少し長くなりますが詳しく解説します。
      メンバ変数がメソッドを持つ場合の他の例をあげるとしたら、
      【4-7 抽象クラスとポリモフィズム】で紹介したサンプルプログラムです。
      (動画ページ→ua-cam.com/video/tfrmaMGJtic/v-deo.html 、授業ノート→bit.ly/3s72p0D )
      Student6クラスのメンバ変数に
      > private Club club; // Clubオブジェクト
      があります。
      これをpublic指定にすると、他のクラスから *「(オブジェクト変数名).club」* で参照できるようになります。
      ※Systemクラスのメンバ変数outもpublic指定のため、他のクラスから「System.out」で参照できます。 *「(クラス名).out」* になるのは、outがstatic指定されているためです。
      (APIドキュメント:docs.oracle.com/javase/jp/17/docs/api/java.base/java/lang/System.html#out )
      実行用クラスのStuSample6クラスにおいて、
      > Student6 stu1 = new Student6("菅原", taf);
      とStudent6クラスのオブジェクトstu1を生成しています。
      この後、stu1から下のようにメソッドを呼び出すことができます。
      > stu1.club.display();
      これは *「オブジェクト変数名.メンバ変数名.メソッド名()」* の形ですね。
      ※System.out.println()ではoutがstatic変数のため、 *「クラス名.メンバ変数名.メソッド名()」* となっています
      もし「.」が2つ続くのが分かりにくい場合は、次のように考えると分かりやすいかもしれません。
      > Club c = stu1.club; // ①
      > c.display(); // ②
      ↓(①で c と stu1.club は同じだから、②の c は stu1.club に置き換えられる)
      > stu1.club.display(); // ②’
      どうでしょう?
      疑問が解決できていたら嬉しいです😄

    • @user-ei6of3kj6p
      @user-ei6of3kj6p 5 місяців тому

      @@SekaChan 初回から勉強させていただいておりますm(__)m私もこの箇所は疑問に思いましたが、とてもわかりやすく説明してくださってありがとうございます!これで次の動画に進めれます💫

  • @SugarCulture8
    @SugarCulture8 3 місяці тому +1

    いつも分かりやすい講座をありがとうございます。
    現役SEですが、APIドキュメントはなんとな〜くでしか見れていなかったので、とても勉強になりました。
    ところで、紹介いただいたAPIドキュメントの読み方は、「あのメソッドについて知りたい」→「こうやって使うのか」という流れかなと思うのですが、「こういうことがしたい」→「このメソッドを使えばいいのか」という読み方はできないのでしょうか?
    具体的に言うと、「文字列を数値に変換したい」から始まり、「Integer.perseIntを使えばいいのか!」に辿り着くことは可能でしょうか?

    • @SekaChan
      @SekaChan  3 місяці тому +1

      APIドキュメントは提供されているメソッドの仕様書として使えますが、
      > 「こういうことがしたい」→「このメソッドを使えばいいのか」
      という読み方は難しいですね。
      「文字列を数値に変換したい」ときは、昔なら「Integerクラスに何か使えるメソッドないかな?」と予想してメソッド一覧を見る‥みたいなことをしてましたが、今ならChatGPTに聞くのが速いと思います。
      試しに『Javaで文字列型をint型に変換したいときに使えるメソッドは?』と聞いたら、Integer.parseInt(String s)とInteger.valueOf(String s)をサンプルコード付きで答えてくれましたよ😄

    • @SugarCulture8
      @SugarCulture8 3 місяці тому +1

      @@SekaChan なるほど!大変参考になります!ありがとうございます🙇‍♂️

  • @user-xf4qk4dp6m
    @user-xf4qk4dp6m 4 місяці тому

    質問があります。
    APIドキュメントを読む場合、
    その実装内容を文章から構成が想像出来る方が良いですよね?
    (必要な部分のみ)
    今、Webアプリ講座を視聴してるのですが、
    HttpServletResponseの構成を調べるのに結構時間がかかりそうです。

    • @SekaChan
      @SekaChan  4 місяці тому

      その「構成」が何のことを指しているのかが分かりませんが、クラスやインタフェースの構成(メンバ変数やメソッド)は理解できたほうが良いですね。
      ただ、メソッドの実装内容は想像できなくても良いと思います。
      (引数と戻り値だけ分かれば活用できる、というのがカプセル化の利点でもあるので)

    • @user-xf4qk4dp6m
      @user-xf4qk4dp6m 4 місяці тому

      @@SekaChan
      ご回答頂きありがとうございます。
      すみません。私の日本語が悪かったですね。
      構成とは、継承元、継承先、インターフェースを確認し自分が使うAPIの位置づけのつもりで書きました。(名前だけで、細かい内容は見るつもりは無いです。)
      上記を把握したら、使用するメソッド(処理内容、引数、戻り値)を調べ、必要があれば細かく見ていく感じが理想なのかなぁ?と考えてます💦
      申し訳ございません。
      まだ調べる事になれてなくて…
      要領が悪いかもです。

  • @icantspeakenglish10
    @icantspeakenglish10 Рік тому +1

    あら