プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • オブジェクト指向
  • 【Java】オブジェクト指向:静的(static)メンバ(クラス変数、staticメソッド…
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Java】オブジェクト指向:静的(static)メンバ(クラス変数、staticメソッド)

04.30

  • miyabisan2
  • 1件のコメント

この記事は1分で読めます

静的フィールド

Javaでは、クラスをnewした場合は、基本的に別々のインスタンスとなり、別々の値を持つことになります。

ただ、開発していると「各インスタンスで共有したい情報」も出てくると思います。

その場合は、下記のようにフィールドの先頭に「static」をつけます。

1
2
3
4
5
6
7
public class People {
 
String name; //名前
int weight;  //体重
★static String pc;//パソコン
 
}

静的(static)フィールド(クラス変数)の特徴

フィールドがインスタンスごとではなく、クラスごとに用意される。

staticをつけない場合は、各インスタンスごとに変数が用意されましたが、staticを付けるとクラスごとに用意されます。

なので、クラスを「new」しなくても「クラス名.静的フィールド名」でアクセスができます。

なので、「静的フィールド」は、「クラス変数」と呼ばれます。

public static final

なので、クラス全体の固定値は「public static final」と宣言します。(finalは、変化しないという意味)

staticフィールドの初期化

staticフィールドは、コンストラクタでの初期化はできません。

変わりに、下記のように「staticイニシャライザ」というものを使います。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class People {
 
static String pc;//パソコン
 
     //staticイニシャライザによるstatic初期化子の初期化
static {
pc = "Share-PC1";
}
 
static void pcUse() {
System.out.println("PC「" + pc + "」を使います。");
}
 
}

静的メソッド

メソッドにも、「static」を付けることで、「クラス名.メソッド名();」でnewせずにそのまま呼び出せるようになります。

1
2
3
4
5
6
7
8
9
10
11
public class People {
 
String name; //名前
int weight;  //体重
static String pc = "Share-PC";//パソコン
 
static void pcUse() {
System.out.println("PC「" + pc + "」を使います。");
}
 
}

また、上記のように、staticメソッドの中では、staticフィールド(クラス変数)しか呼び出せないので注意です。

スポンサーリンク
  • 2018 04.30
  • miyabisan2
  • 1件のコメント
  • Java, オブジェクト指向
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 05.06

    【UML】UMLの種類、クラス図の基本

  2. 2018 05.20

    【Eclipse】検索機能の種類

  3. 2018 05.19

    【設計】クラス設計(オブジェクト指向設計)の基本(保守性、再利用性の高いソースコードを書くには?)

  4. 2018 06.23

    【JUnit】JUnitの基本や、使用できる「アノテーション」の種類

  5. 2018 04.22

    【Java】PreparedStatementによるINSERT文の実行

  6. 2018 04.15

    【JSP】基礎的なこと(暗黙オブジェクト等)

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Java】オブジェクト指向:インスタンス変数の初期化…

【Java】オブジェクト指向:カプセル化

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー