通过abstract定义的类为抽象类,抽象类具有以下特点:
- 抽象类可以实现接口,但不能继承接口
public abstract class AbstractClass implements Runnable {
private Object param;
public abstract void test();
}
- 抽象类可以被继承
class ExtendsAbstractClass extends AbstractClass {
@Override
public void run() {
// TODO Auto-generated method stub
}
@Override
public void test() {
// TODO Auto-generated method stub
}
}
- 抽象类不可以实例化(下面的事匿名内部类,不是实例化)
class TestNewAbstract {
public void test() {
AbstractClass obj = new AbstractClass() {
@Override
public void run() {
// TODO Auto-generated method stub
}
@Override
public void test() {
// TODO Auto-generated method stub
}
};
obj.test();
}
}