TSL_2021.12.14


JAVAクリア


作成者とは?

  • インスタンスを作成するときに使用される[インスタンス初期化方法](Instance Initialization Method)
  • 、すなわち、newなどの新しいクラスインスタンスが作成されると自動的に呼び出される方法.
  • インスタンス変数を初期化します.
  • [合成例]

    class Phone {
        String model;
        String color;
        int price;
    	
        // 생성자
        Phone(String model, String color, int price) {
            this.model = model;
            this.color = color;
            this.price = price;
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            Phone galaxy = new Phone("Galaxy10", "Black", 100);
    
            Phone iphone =new Phone("iPhoneX", "Black", 200);
    
            System.out.println("철수는 이번에 " + galaxy.model + galaxy.color + " + 색상을 " + galaxy.price + "만원에 샀다.");
            System.out.println("영희는 이번에 " + iphone.model + iphone.color + " + 색상을 " + iphone.price + "만원에 샀다.");
        }
    }

    [動作の説明]



  • に示すように、新しいPhone(「Galaxy 10」,「Black」,100);で新しいインスタンスが作成された場合、Phoeクラスは新しいコンストラクション関数Phone(~,~,~)を作成して再定義し、クラスを使用します.
  • もし。ジェネレータを作成してくれなかったら?

  • クラスで宣言された変数は、インスタンスの作成時に値を初期化します.
    変数の宣言子またはジェネレータで初期化しない場合は、デフォルト値(default value)->デフォルトex)0、0.0、null
  • 継承とは?

  • 継承は、既存のクラスを再使用する方法の1つです.
  • 一度に記述されたコード
  • を繰り返し使用する必要がある場合は、コードを変更するだけで、比較的少ないコードを記述することができる.
  • のようにコードを繰り返し使用する利点は、コードとクラスが多ければ多いほど、管理が容易になることです.
  • [合成例]

    class Animal {
        String name;
    
        public void cry() {
            System.out.println(name + " is crying.");
        }
    }
    
    class Dog extends Animal {
    
        Dog(String name) {
            this.name = name;
        }
    
        public void swim() {
            System.out.println(name + " is swimming!");
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            Dog dog = new Dog("코코");
            dog.cry();
            dog.swim();
            
            Animal dog2 = dog;
            dog2.cry();
    //        dog2.swim(); // compile error
        }
    }

    [動作の説明]


  • Dog classはAnimal classを継承しており、Dog classではAnimalのcry()関数とDogのshaw()関数を使用できますが、Animalでは独自の関数cry()しか使用できません.