2021-01-01から1年間の記事一覧

アップキャストとダウンキャスト

アップキャスト=変数の型をサブクラスからスーパークラスの型へ変更する ※extendして継承関係にあればできる ダウンキャスト=変数の型をスーパークラスからサブクラスの型へ変更する ※変換する際コンパイラからは継承関係が分からないのでキャスト式を使用…

java ラムダ式の省略について

ラムダ式の引数が一つだけの時 ・()カッコを省略できる ラムダ式の処理の{}中カッコありの時 ・複数の処理をする事ができる ・戻り値がある場合returnが必要 ラムダ式の処理の{}中カッコなしの時 ・一つしか処理ができない ・戻り値がある場合はreturnを書い…

java サブクラスのインスタンス生成時のコンストラクタの流れ

サブクラスのインスタンスを生成するとスーパークラスのコンストラクタ→サブクラスのコンストラクタの順に処理される(基盤(スーパークラス)を作ってから差分(サブクラス)を追加するという考え方。コンパイラが自動でサブクラスのコンストラクタにsuper()を追…

継承しても引き継げない2点

javaのクラスを継承しても引き継げない2点 ・コンストラクタ ・privateなフィールドやメソッド

可変調引数について

複数の同じデータ型の引数をまとめて設定できる 構文:メソッド名(データ型… 引数名) { ※処理の本文で可変長引数を使うときは配列と同じように大カッコ[]を使用する ex 引数名[i] 二つの注意点 ・同じデータ型でないといけない ・可変長引数以外の引数を合…

クラスをパッケージに所属させる

構文: package 所属させたいパッケージ名; ※ソースコードの先頭に記載する ※パッケージに親子関係や階層関係はない

シグネクチャについて

メソッド名+引数を合わせてシグネクチャと呼ぶ

java アクセス修飾子について

アクセス修飾子を指定することで他のクラスからのアクセス制御を行う public:全てのクラスからアクセス可能 protected:同じパッケージに属するもしくはサブクラスからのみアクセス可能 なし(デフォルト):同じパッケージからのみアクセス可能 private:クラス…

import宣言について

他のパッケージのクラスを使用する際本来ならば完全修飾子(パッケージ名.クラス名)でクラスを扱わなければならないが、ソースコードの上部に一度import宣言をする事で以降パッケージ名を省略してクラスを扱うことができる。 構文: import 完全修飾子;

java return文について

return文が実行されると処理が強制終了される。そのためreturn文以降の到達不可能な処理がある場合コンパイルエラーとなる

java オーバーロードについて

引数の指定方法を変えることで同名のメソッドを定義すること オーバーロードの定義条件 引数の型、数、順番いずれかが異なっていなければならない

java 初期化子について

全てのコンストラクタに共通する前処理を書く場所 ※波カッコ{}を使用してフィールド、メソッド、コンストラクタに並べて記述する ※コンストラクタよりも先に実行される

javaのメソッド

構文 アクセス修飾子(publicなど) 戻り値型(voidなど) メソッド名{ 処理の内容 } ※戻り値型の指定は必ず必要(戻り値無ければvoidを指定)

javaのソースコードの変換の流れ

ソースコード→コンパイル(コンパイラというソフトフェアを用いる)→クラスファイルに変換(ソースコードがバイトコードに変換される)→インタプリンタ(ソフトウェア名)がバイトコードの変換と実行を依頼する→インタプリンタの内部にあるJVMという仕組みで…

ガベージコレクタについて

JVMに備わっている機能で不要になったメモリ(参照されなくなったインスタンス)を自動で削除してくれる機能 この時メモリを削除することを「ガベージコレクション」という ※ガベージコレクションを行うタイミングはJVMが決めgcメソッド(ガベージコレクショ…