LoginSignup
0
1

More than 3 years have passed since last update.

マッスルJavaオブジェクト指向 1日目

Last updated at Posted at 2020-06-22

インスタンス

クラスとは?(復習)
設計書のようなもの
・定義するもの
 ・状態(状況):変数(フィールド)
 ・振る舞い(動作):メソッド

  • 設計書(クラス)から作成された実体(インスタンス)
  • 複数の生成も可能

インスタンス

インスタンス(コード生成)

クラス名 インスタンス変数名(自由) = new クラス名(引数)[コンストラクタ指定];

生成したインスタンスを変数に格納
ここで注目すべきは!!
クラス型(参照型)のインスタンス変数

Javaの全変数は静的型付けにより、クラス型の宣言を行った

コンストラクタ

  • インスタンスを生成するときに行う初期化処理をする特別なメソッド
  • コンストラクタの特徴
    • メソッド名はクラス名と同じ
    • 戻り値なし
    • 引数の異なるコンストラクタは複数あっても良い
    • コンストラクタは省略可能
// Personクラス

public class Person {
  public Person(){
   age = 1;
  }
  public Person(int a){
   age = a;
  }
  public Person(String a){
   age = a;
  }
  public void printAge(){
   System.out.println("私は"+age+"歳です");
  }
 }
}
// mainクラス

public static void main(String args[]){
  Person p1 = new Person();
  p1.printAge();

  int num1 = 29;
  Person p2 = new Person(num1){
  p2.printAge();
  }

  String num2 = "29";
  Person p3 = new Person(num2){
  p3.printAge();
  }
}

static定義

staticフィールド、staticメソッドへのアクセス
- staticキーワードがついたフィールドやメソッドにはインスタンス生成しなくて、使える

内容 使い方
staticメソッド使う クラス名.メソッド名(引数)
staticフィールドを使う クラス名.フィールド名

static定義の制限

  • staticフィールド
    • 変数の値を1つしか保持できない → 格納するたびに上書きされる
  • staticメソッド
    • staticメソッド内からは、同一クラス内のstaticが無いメソッドや、staticが無いフィールドを使えない
    • staticメソッド内でインスタンスを作れば、アクセス可能

クラス連携

  • 他のパッケージのクラスを使う場合
    • コードに直接「パッケージ名.クラス名」で指定
    • import宣言で使う
      • import 他のパッケージ名.クラス名;
      • import パッケージ名.*(全てのクラス);
0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1