ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
本稿は Java の this キーワードに関する記事です。this は「現在実行中のインスタンス自身」を指す参照で、フィールドと引数の名前が衝突したときの区別、コンストラクタ間の呼び出し、ビルダーパターンでの自己返却など、Java で頻繁に登場するキーワードです。
this の主な用途
| 用途 | 概要 |
|---|---|
| 自インスタンスのフィールド参照 | 引数と同名のフィールドを明示的に指す |
| 自インスタンスのメソッド呼び出し | this.method() または省略形 method() |
| 同じクラスの別コンストラクタ呼び出し | this(...) (先頭で 1 回のみ) |
| 自身の参照を返す | メソッドチェーン用 (Builder / Fluent API) |
| 匿名内部クラスから外側を指す | 外側クラス名.this |
1. フィールド名と引数名が衝突するとき
|
public class User { |
引数名とフィールド名が同じ場合、this. を付けないとローカル変数 (引数) が優先されるためフィールドに代入できません。シャドーイングを明示的に解消するのが this の典型用途です。
2. 同じクラスの別コンストラクタを呼び出す
|
public class User { |
制約: this(...) はコンストラクタ本体の先頭でのみ呼べる、かつ1 つのコンストラクタにつき 1 回まで。super(...) との同時使用は不可。
3. 自身の参照を返す (メソッドチェーン / Builder)
|
public class StringBuilderLike { |
4. 内部クラスから外側のインスタンスを参照する
|
public class Outer { |
this を「省略」する場合と「省略しない」場合
| 場面 | this を書くべきか |
|---|---|
| 同名の引数・ローカル変数とのシャドーイング | 必ず付ける |
| 普通のフィールド・メソッド参照 | 省略してよい (多くのコードがそうしている) |
| 意図を明示してフィールドだと示したい | チームの命名/書式規約に合わせる |
| static メソッド内 | 使用不可 (インスタンスが存在しない) |
注意点
thisは非 static コンテキストでのみ使える。staticメソッド内では使用不可this(...)とsuper(...)はコンストラクタ本体の先頭でしか呼べないthisの参照を外部に渡すのはコンストラクタ実行途中では危険 (フィールド未初期化の状態が公開される。"this の漏洩" / Java Concurrency 上の代表的なバグ)- JavaScript の
thisとは仕様が大きく異なる。混同しない - Java 21 などのレコード型 (record) では自動生成のため、明示的に
this.を書く場面は減る
関連
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Wi-Fi とは|規格と世代(Wi-Fi 4〜7)・周波数帯・CSMA/CA・WPA3 NEW 2026-09-07 07:45:13
- set コマンドでシェルオプションと位置パラメータを操作 | bash 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- UE5 Get Overlapping Actorsで特定クラスだけ処理|Class Filter・Cast To 2026-09-07 07:45:13
- Linuxで特定拡張子のファイルを再帰削除|find -deleteの安全手順 2026-09-07 07:45:13
- Django CBVでテンプレートに値を渡す|get_context_data・extra_context 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- Linux catコマンドの使い方|行番号表示・複数ファイル連結 2026-09-07 07:45:13
- unable to execute 'gcc': No such file or directory 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?