黑马程序员—— 抽象类和接口 抽象类: 用abstract修饰的类为抽象类,抽象类和一般类其实没有太大的不同,不过是该类中出现一些不确定的东西,也就是知道会有这样一个方法(功能),但方法(功能)的主题不确定,这样的方法要用抽象方法来表示,抽象方法所在的类一定是抽象类,而抽象类中确不一定会有抽象的方法,这样做的目的是为了让该类,不能创建对象,抽象类中是可以有构造方法的,它所存在的目的就是供子类来访问的,但他不能创建对象,只能通过子类实现该抽象类中的所有抽象方法,来实例化子类对象,用abstract修饰的方法为抽象方法,是不能有方法体的,写法格式为:修饰符 abstract 返回值 方法名(参数列表); 继承抽象类的子类,必须实现该抽象类中的所以抽象方法,否则不能new对象,如果不实现该抽象方法,那么默认的子类里也是有这样一个抽象方法的,所以该子类也必须是抽象类 接口: 接口用interface 来修饰,接口中只有静态常量和抽象方法,即便是你在类中的变量上没写static final修饰符,系统也会默认给你加上,其访问方式只能通过,接口名.常量名来访问;方法也是,即便你没写 abstract修饰符,系统也会给你加上,如果你实现了该接口,必须要重写里面的所有方法,否则,你的类就是抽象类 抽象类和接口的区别 抽象类中不一定有抽象方法,而接口中的所有方法都是抽象方法;抽象类中可有构造,变量,常量,而接口中只能是静态常量和抽象方法;一个子类只能继承一个父类,而接口可以继承多个接口,子类可以实现多个接口;