抽象类与抽象方法
抽象类与抽象方法的定义
抽象类定义:abstract关键字修饰的类
抽象方法:abstract关键字修饰的方法,抽象方法只有方法名字,没有方法的实现,抽象方法由抽象类的子类来实现。
public abstract class Action {
public abstract void doSomething();
public void hello(){
System.out.println("hello");
}
}
继承了抽象类的子类,必须要实现它的方法:
//抽象类的所有方法,继承了它的子类,都必须要实现它的方法
public class A extends Action{
@Override
public void doSomething(){}
}
抽象类的特点:
- 不能new这个抽象类,只能靠子类去实现它;约束!
- 抽象类中可以写普通的方法
- 抽象方法必须在抽象类中
思考题:
-
抽象类存在构造器吗?
抽象类可以有构造方法,只是不能直接创建抽象类的实例对象而已。在继承了抽象类的子类中通过super()或super(参数列表)调用抽象类中的构造方法。示例代码如下:
abstract class Base{ int a=7; public Base(){ a=8; } public Base(int i){ a=i; } } public class Demo01 extends Base { public Demo01(){ super(); } public Demo01(int i){ super(i); } public static void main(String[] args) { Demo01 demo=new Demo01(); System.out.println(demo.a); Demo01 demo1=new Demo01(9); System.out.println(demo1.a); } }
-
抽象类存在的意义是什么?
Java中抽象类更利于代码的维护和重用,提高开发效率。