在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]
{ }
)或声明中声明您可以在构造函数中使用所有变量类型(#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
关键字不允许用于变量声明。
抽象是Java中的不可访问修饰符,适用于类,方法,但不适用于变量。它用于实现抽象,它是面向对象编程的支柱之一。