抽象类

抽象类:用abstract关键字修饰的类

特点:抽象类必须被继承。

       抽象类不能被直接实例化。

语法:abstract    class    类名

        {

               类体;

        }

抽象方法:用abstract修饰的方法,只有方法头,没有方法的具体实现(没有方法体)

特点:抽象方法必须被重写

        抽象方法只有声明,不能有实现

        定义了抽象方法的类必须是抽象类

语法:abstract   返回类型    方法名([参数列表]);

例如:

运行结果为:

接口

定义:接口是若干方法定义(方法未实现)和常数变量的集合
特点:变量是常量
         方法是抽象(只有方法声明,没有实现)

语法:public    interface    接口名  

        {

             常量定义   [public static final] 数据类型   成员变量名=常量值;

             方法声明   [public abstract]  返回值类型  方法名(形参列表);

        }

一个接口可以通过extends方法继承另一个或多个接口

语法:public    interface    接口A  extends  接口B,接口C

        {

             常量定义

             方法声明

        }

接口的实现

与抽象类一样,一个接口本身不能被实例化,只能用来派生子类。一个类可以同时实现多个接口,从而实现多继承。

语法:public  class   类   implements    接口A, 接口B,接口C

        {

            实现整个接口链中的所有抽象方法;

        }

使用要点
一个类可以实现多个接口
一个类如实现接口必须写出所实现的接口中定义的所有方法,且方法头必须和接口中定义的完全一致(方法名、返回值、形参列表)
类中实现的接口方法必须写出public修饰符

类与类之间存在着继承关系,类与接口中间存在的是实现关系  继承用extends    实现用implements



  

总结

抽象类:关键字abstract                                                                                    

1.抽象类不能实例化(也就是不能创建对象)                        
2.抽象类只能通过子类继承去实例化子类
3.抽象类中的抽象方法在子类中必须全部实现
4.对于一个抽象类,并不要求其中的方法都是抽象的,但是一
但在类中有一个方法是抽象的,那么此类必须要定义成抽象类。
5.抽象方法不能有方法体,必须在子类中进行覆写实现
6.抽象类中可以定义普通的成员变量,也可以定义普通的方法成员
7.如果子类没有把所有抽象方法实现,那么子类也变成抽象的了
8.多态的情况用的较多


接口:关键字interface   

1.接口可以多重实现;
2.接口中声明的属性默认为 public  static  final 的;也只能是 public static final 的;
3.接口中只能定义抽象方法,而且这些方法默认为public的、也只能是public的;
4.接口可以继承其它的接口,并添加新的属性和抽象方法。

5.多个无关的类可以实现同一个接口。
6.一个类可以实现多个无关的接口。
7.与继承关系类似,接口与实现类之间存在多态性。

 

posted on 2015-07-03 16:14  夏晴  阅读(144)  评论(0编辑  收藏  举报