我们可以实例化一个抽象class吗?可能吗?
Can we instantiate an abstract class? Is it possible?
我在 SCJP6 中读到抽象 class 无法实例化。但是在某处读到它们可以被实例化。是真的吗?我是 Java 的新手,希望有人能详细解释一下。举个例子也好。
来自Java documentation:
Abstract classes cannot be instantiated, but they can be subclassed.
Abstract classes are similar to interfaces. You cannot instantiate them...
您可以创建抽象的引用 class,但不能实例化它。例如
public abstract class AbstractClass {
public abstract void abstractMethod();
public void concreteMethod(){
System.out.println("am in concreteMethod");
}
}
public class ExtndClass extends AbstractClass{
@Override
public void abstractMethod() {
// TODO Auto-generated method stub
System.out.println(" am in extended class");
}
public static void main(String...arg){
AbstractClass abs = new ExtndClass();
abs.abstractMethod();
abs.concreteMethod();
}
}
输出:
am in extended class
am in concreteMethod
我在 SCJP6 中读到抽象 class 无法实例化。但是在某处读到它们可以被实例化。是真的吗?我是 Java 的新手,希望有人能详细解释一下。举个例子也好。
来自Java documentation:
Abstract classes cannot be instantiated, but they can be subclassed.
Abstract classes are similar to interfaces. You cannot instantiate them...
您可以创建抽象的引用 class,但不能实例化它。例如
public abstract class AbstractClass {
public abstract void abstractMethod();
public void concreteMethod(){
System.out.println("am in concreteMethod");
}
}
public class ExtndClass extends AbstractClass{
@Override
public void abstractMethod() {
// TODO Auto-generated method stub
System.out.println(" am in extended class");
}
public static void main(String...arg){
AbstractClass abs = new ExtndClass();
abs.abstractMethod();
abs.concreteMethod();
}
}
输出:
am in extended class
am in concreteMethod