本帖最后由 程媛媛 于 2013-4-3 20:43 编辑
抽象类与接口的相同点:都不可以创建对象。
抽象类与接口的不同点:
①接口中的方法都必须是抽象的,抽象类中的方法可以不是抽象的;
②接口中定义的变量都是常量,抽象类中可以不定义常量;
③接口通过implements实现,可以多实现,抽象类通过extends实现,只能继承一次;
④接口中的方法都必须是抽象方法,抽象类中可以不定义抽象方法。
类、抽象类、接口之间的关系:
① 类与类之间是继承关系,一个类只能有一个直接父类,可以有多个间接父类
② 类与抽象类之间是继承关系,只能有一个继承。
③ 类与接口之间是实现关系,一个类可以实现多个接口
④ 接口与接口之间是继承关系,并且可以多继承。
定义一个抽象类:- abstract class Demov{//定义一个抽象类
- public int x = 8;
- public void printa(){//定义一个普通方法
- System.out.println("x="+x);
- }
- abstract void show();//定义一个抽象方法
- }
- class Subb extends Demov{
- public void show(){}//覆写show方法,否则Sub就是一个抽象类,需要用abstract修饰。
- }
复制代码 定义一个接口:- interface Iner{
- public static final double PI = 3.14;
- int NUM = 5;//如果不写public static final,程序会自动加上。
- public abstract void show();//定义一个抽象方法
- //public void print(){}//错误的,不允许定义非抽象的方法。
- }
- class Ssu implements Iner{//Ssu类实现了Iner接口。
- public void show() {//需要重写show方法,否则Ssu就是一个抽象类。
- System.out.println("show......");
- }
- }
复制代码 |