abstract 修饰的CLASS是抽象类 抽象类(abstract class)可以有抽象方法,也可以有具体是方法,抽象类只能支持单继承interface 接口 接口可以有抽象的方法,不存在具体的方法,接口可以多继承(多实现) 如下是我以前学习的一些笔记你可以参考下/*理解java接口定义 * 1.JAVA接口没有构造器 * 2.JAVA接口中的成员变量必须显式赋初始值 * 3.JAVA接口中的方法没有方法体,定义形式是[public][abstract] 方法类型 [方法名]([参数列表]); * 4.JAVA接口的定义形式如下: * [修饰符] interface 接口名[extends 父接口名列表]{ [public] [static] [final] 数据类型 成员变量名=变量值; [public][abstract] 方法类型 方法名([参数列表]); } * * 5.JAVA接口中的成员变量默认为public static final类型的,如inti=1; 相当于是public static final inti=1; * JAVA接口中常量默认是加了public static final 意味着:公用,共用,并且不可更改。 * 6.JAVA接口是不能被实例化的 * 7.JAVA接口中的方法不能用static修饰 * 8.JAVA接口中的所有的方法都是抽象的,不管有没abstract修饰,且默认是 public abstract 方法类型 方法名([参数列表]); * 9.JAVA接口中子接口可以继承多个父接口,子类可以实现多个父接口 * */ /*理解JAVA抽象类 * 1.抽象类不能被实例化. * 2.抽象类有构造器,且他的构造在他的子类被实例化时被调用的顺序和普通类调用的顺序是一样的(先父后子). * 3.抽象类内部的方法可以不是抽象方法,也就是说抽象类内部可以有具体的方法. * 4.抽象类的抽象方法属于一种不完整的方法,只含有声明和定义,没有方法主体. * 5.如果抽象的某个子类是普通类(非abstract类型的类),那么该子类必须Override抽象类中所有的抽象方法. * 6.抽象类的子类也是抽象类的话,那么该子类既可以Override父类中的方法,也可以不Override父类中的方法. * 7.普通类中不能定义抽象方法. * 8.static不能修饰抽象方法 |