抽象类:在类中声明一个方法,这个方法没有实现体,是一个“空”方法 ,这样的方法就叫抽象方法,使用关键字“abstract"修饰
注:当一个类有抽象方法的时候,该类一定是抽象方法,当一个类是抽象类的时候,里面不一定有抽象方法。
public abstract class Test {
String name;//普通变量
final int a=1;//常量
// 抽象方法test
// Hero的子类会被要求实现attack方法
public abstract void test();
}
子类实现
public class A extends Test {
@Override
public void test() {
System.out.println(“实现抽象类的抽象方法”);
}
}
抽象类可以没有抽象方法,但是一旦被声明为了抽象类,就不能够直接被实例化。
接口:接口就像是一种约定,约定了这样,就一定会这样做,接口用interface关键字声明
public interface Test {
public void A();
}
实现某个接口,就相当于承诺了某种约定,实现接口使用implements关键字实现
public class ADHero implements Test{
@Override
public void A() {
System.out.println("实现接口中的抽象方法");
}
}
抽象类与接口有什么区别呢?
抽象类:有成员变量,常量
可以有构造方法
有抽象方法和非抽象方法
子类用关键字extends继承
有单继承局限性,只能继承一个抽象类
接口:只有常量
没有构造方法
只有抽象方法
用关键字implements实例化
可以实现多个接口
网友评论