Java研究ノート-抽象クラスとインターフェース

抽象クラス

1.抽象クラスとは何ですか?

  • クラスとクラスには共通の機能があります。これらの共通の機能を抽出すると、抽象クラスが形成されます。
  • クラス自体は存在しないため、抽象クラスはオブジェクトを作成できません(インスタンス化できません)

2.それはどのタイプの抽象クラスですか?

  • 抽象クラスは参照型です

3.抽象クラスを定義する方法は?

  • [修飾子リスト]抽象クラスクラス名{}

4.抽象クラスをインスタンス化したり、オブジェクトを作成したりすることはできないため、抽象クラスはサブクラスによって継承されるために使用されます。
5. finalとabstractを一緒に使用することはできません
。6.抽象クラスのサブクラスは抽象クラスにすることができます
7. 抽象クラスはインスタンス化できませんが、コンストラクターを持っていますが、サブクラス(スーパー())向けです
8.抽象クラス概念に関連:抽象メソッド

  • 抽象メソッドは、実装されていないメソッド、およびメソッド本体を持たないメソッドを表します。など:public abstract void doSome();
  • 特徴:セミコロンで終わるメソッド本体はありません。上記の修飾子リストに抽象キーワードがあります

9.抽象クラスには必ずしも抽象メソッドがあるとは限りませんが、抽象メソッドは抽象クラスに出現する必要があります。
10.抽象クラスは半抽象であり、抽象クラスでは、抽象メソッドまたは通常のメソッドを記述できます。

10.重要な結論:***** 5つ星

  • 非抽象クラスは抽象クラスを継承し、抽象クラスの抽象メソッドを実装する必要があります
  • ここでの上書きまたは書き換えは、実装とも呼ばれます。(抽象化の実現)
    • 理由:メソッドを上書きしない場合、それは通常のクラスに現れる抽象メソッドと同等ですが、これは絶対に許可されていません。

抽象クラスにはコンストラクタがあります

public class AbstractTest{
	public static void main(String[] args){
		Cat c = new Cat();
	}
}
abstract class Aniaml{
	//有参数构造方法
	public Aniaml(int a){	
	}
}
class Cat extends Aniaml{
}

抽象メソッドは抽象クラスにのみ出現できます

public class AbstractTest{
	public static void main(String[] args){		
	}
}
abstract class Aniaml{
	//抽象方法
	public abstract void move();
}

class Cat extends Aniaml{
	//如果不进行方法覆盖
	//那么就相当于抽象方法出现在了普通类中,是绝对不允许的
	//public void move(){}
}

おすすめ

転載: www.cnblogs.com/zy200128/p/12716473.html
おすすめ