Javaで変数をabstract
にすることはできますか?コンストラクターはabstract
変数をサポートしていますか?よくわかりませんが、コンストラクターは静的変数をサポートしていると思います。私の疑問を明確にしてください。
Javaでは、クラスとメソッドのみを抽象化できます。変数宣言はできません。ただし、型が抽象化された変数宣言を使用できます。例を参照してください。
public abstract class MyClass { // allowed
public abstract myMethod(); // allowed
public MyClass instance; // allowed
public abstract MyClass instance; // NOT ALLOWED!!
}
言語仕様には、7種類の変数がリストされています。
i[2]
のような配列を作成する場合はint[] i= new int[5]
のように{ }
)またはforステートメントで宣言コンストラクターでは、すべての変数タイプ(#4を除く)を使用できます。
class Demo {
static int demo1 = 0; // class variable
int[] demo2 = new int[5]; // instance variable
Demo(int demo3) { // constructor parameter
try {
int demo4 = // local variable
demo2[2]; // array component
} catch(RuntimeException demo5) { // exception-handler parameter
}
demo2 = new int[]{Demo.demo1}; // using class and instance variable
// in a constructor
}
int method(int demo6) { // method parameter
}
}
abstract
キーワードは、変数宣言には使用できません。
abstractは、Javaクラス、メソッドには適用できますが、変数には適用できません。オブジェクト指向プログラミングの柱の1つである抽象化を実現するために使用されます。