书上说不可以,但是我可以写出来,且没有报错,请问这是为什么?

解决方案 »

  1.   

    有搞糟函数不就是能 new出对象吗?
    如果能new出对象还能是抽象类吗?
      

  2.   

    可以有
    除了不能用来直接创建实例之外
    跟普通的构造函数是一样的
    也就是继承它的类可以通过super调用
      

  3.   

    呵呵,当然没有了,抽象的类不能实例化。不过你在SWING中会看到 new 接口(抽象类),但是那个()中间还有方法,是为了编写方便而已。
      

  4.   

    可以有构造方法 能在子类用super方法调用(抽象类也允许有属性也可能有实现 所以也需要初始化)
    但就是不能显式构造
      

  5.   

    当然可以有。看下javaAPI就知道了。
      

  6.   


    public class TEST { public static void main(String[] args) { B b = new B();
    b.fun1();
    }}abstract class A {
    String str = ""; public A() {
    this.str = "A";
    } abstract void fun1(); void fun2() {
    System.out.println(this.str);
    }
    }class B extends A {
    String str = "B"; void fun1() {
    super.fun2();
    System.out.println(this.str);
    }
    }
    //输出结果
    A
    B
      

  7.   

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法
      

  8.   

    抽象类有构造方法,帮助文档中的抽象函数都是由构造方法的
    例如:AbstractList
    查一下就知道了。
      

  9.   

    Format是接口,也有构造方法确实对这东西挺模糊的