java中有任何抽象变量吗?

时间:2010-08-25 04:48:03

标签: java variables abstract

在java中有任何抽象变量吗?我在构造函数中使用这个抽象变量我很确定但是我认为构造函数支持静态变量.pls澄清了我的怀疑

3 个答案:

答案 0 :(得分:22)

在java中,只有类和方法可以是抽象的。变量声明不能。但是,您可以使用其类型为抽象的变量声明。见例:

public abstract class MyClass { // allowed
   public abstract myMethod(); // allowed
   public MyClass instance; // allowed

   public abstract MyClass instance; // NOT ALLOWED!!
}

答案 1 :(得分:9)

语言规范列出了7种类型的变量:

  1. 类变量 - 在类声明中声明为静态
  2. 实例变量 - 在不使用static关键字
  3. 的情况下在类声明中声明
  4. 数组组件 - 当我们创建像i[2]
  5. 这样的数组时,就像int[] i= new int[5]一样
  6. 方法参数 - 传递给方法的名称参数值
  7. 构造函数参数 - 传递给构造函数的名称参数值
  8. 异常处理程序参数 - 每次捕获异常时创建
  9. 局部变量 - 在块({ })或声明中声明
  10. 您可以在构造函数中使用所有变量类型(#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关键字。

答案 2 :(得分:0)

abstract是java中的非访问修饰符,适用于类,方法但不适用于变量。它用于实现抽象,这是面向对象编程的支柱之一。