2022-01-01から1年間の記事一覧
インタフェースっていうのは、公開すべき必要な操作をまとめたクラスの仕様のことなんですが、これを引き継いで実装したクラスを作ります。 めんどくさいのはSE7~SE9までの仕様変更。 SE7 ・インタフェースで宣言できるメソッドは抽象メソッドのみである SE…
紫本の中の問題のコードをdokojavaさんのところで確認してみたんやが、なぜか平均の20.0ではなく、15.0が表示されてしまう。どういうことだ?ストリームにあるリテラルを合わせると60.0やから、/3ではなく/4の数字なっちゃってるんだけど、どこで4になるのか…
某参考書を読んでいるが、読者がこれから勉強する人だという想像力の欠如した人が書いている。例えばOptionalクラスの使い方について、詳しく解説されているが、そもそもどういう経緯でどういう使い方をするものなのか、最初に説明が無い。なんだかなぁ。
Java11ではモジュールシステムという仕組みが採用されています。古いプログラムではモジュールを使ってないので、改修時などにモジュールシステムを組み込むやり方として、 ・ボトムアップ式 ・トップダウン式 の2つが考えられます。 元々のモジュールの仕組…
福岡県に引っ越してきて約2年。 大体、都市部にしか行ってないので、何とか郡、何とか町、何とか村はググってびっくりすることが多い。 痛ましい幼子の虐待事件で何となく珍しい苗字だなと思った「常慶」さん。仏師系何かなと思ってちょろっと検索したら、か…
Java SE11 Goldの勉強で、今、ローカライズの章をやってます。 Localeとかリソースバンドルとかですね。国コードや言語コードの設定。 なかなか大変だな。
replaceAll(UnaryOperator<E> operator) このリストの各要素を、その要素に演算子を適用した結果で置換します。</e>
ラムダ式なんかで使う、Predicateインタフェースでは、「||」をorメソッド、「&&」をandメソッドとして使えます。そのままの名前ですね。
インタフェースってメソッドとシグニチャだけ書いて、アクセス修飾子つけなくてもpublicになるって認識だったけど、privateつけて実装書いちゃってもありなの?頭こんがらがってきた。privateつける時はdefaultつけちゃいけないらしい。 この辺、なんかすっ…
メソッドをオーバーライドする時は、アクセス修飾子(public, protected, 無し(package private), privateの4つで、左から右に厳しくなる)を緩くすることはできても、厳しくすることはできない。これを無視するとコンパイルエラーになる。
・アサーション(assertion)とは 主張、断言、表明、言明 などの意味。 IT用語としては、表明、でしょうかね。 例外はtry-catch-finally構文とtry-with-resources構文の学習ですね。 Silverの時は例外の種類とthrow やthrowsを覚えたような記憶があります。
アノテーション[annotation]という言葉は、一般的には「注釈、気注」などと訳されてて、文献などで※(数字)のような感じで枠外や一番最後に詳しい説明や出典なんかを書くようなイメージですね。 Javaで使うアノテーションも注釈的な意味や、意図していないエ…
・duplicated デュプリカテドゥ 「重複した、二重の」という意味ですね。 間違っておんなじ名前のクラスやメソッドやフィールドなんかを作ってIDEに怒られてる時のメッセージにありそうです。 ・deprecated デプリケイテドゥ LとRの発音の違いが聞き取れない…
いまいち何でそういう書き方があるのか、どう利用するのかイメージわきませんが、あるところからこんな感じの説明を拾ってきた。 ラムダ式とは、一言で言えば「関数型インターフェイスを実装した匿名クラスのインスタンスを超簡単に作る文法」です。
JavaのEnumは、CやC++、C#などのプログラミング言語とは異なり、クラスとしてお使われます。実際プログラマーが独自に定義したEnumは、java.lang.Enumクラスのサブクラスとして扱われます。 Java SE11 Gold黒本P.55 より抜粋。そうなのか。
コードをはてなブログに書く方法のテスト >|Java| public class Hello { // メソッド宣言 public static void main(String[] args) { // 文 System.out.println("こんにちは、世界"); } } ||< 引用文の書き方はこんな感じ でいいのかな? >|Java| public cla…
package宣言についての注意 java.langパッケージに属するクラスはインポート宣言しなくても自動で入れられる。 package名をワイルドカードにすることはできない。 jp.co.xxx.yyy とjp.co.xxx.zzzは別のパッケージなのでjp.co.xxx.*と書いてもダメ。 jp.co.xx…
インタフェースや抽象クラスは実装されていないので、newでインスタンスを生成できない。 継承関係にあるクラスのインスタンス生成時のコンストラクタの動作について ・スーパークラスのインスタンスが持つコンストラクタが先に実行される ・サブクラスのコ…
・苦手な継承、インタフェース、抽象クラス について 継承で引き継げないもの ・コンストラクタ ・privateなフィールドやメソッド クラスの多重継承は禁止されているが、インタフェースの多重実現は認められている。 複数のインタフェースの多重実現の書き方…
一昨年末、Java SE11 Silverの独習をしておりまして、1回目はまさかの不合格、1か月後のリベンジで何とか合格できました。 今回、Goldへの挑戦の為、久しぶりにJava SE11 Silverの黒本をやり直してみたら、かなり忘れてしまってました。 という事で、しばら…