抽象类是通过abstract关键字定义抽象方法的,抽象类中可以存在非抽象方法,子类继承
抽象类后需要复写抽象类的抽象方法;
abstract class A //抽象类A
{
int x = 5;
void speak() //非抽象方法
{
System.out.println("A");
}
abstract void ask(); //抽象方法
}
class B extends A //B继承A
{
void ask() //复写抽象方法ask()
{
System.out.println("A");
}
}
接口是所有的方法都是抽象的,常量和方法都有固定的修饰符,子类实现接口后,必须复写所有
的抽象方法才能创建对象
interface A //接口A
{
public static final NUM = 5; //固定修饰符的常量
public abstract void speak(); //固定修饰的抽象方法
public abstract void ask(); //固定修饰的抽象方法
}
class B implements A //B实现接口A
{
public void speak() //复写抽象方法speak()
{
System.out.println("A");
}
public void ask() //复写抽象方法ask()
{
System.out.println("B");
}
}