一、抽象与接口类
1. public abstract class n { }
抽象方法: public abstract void a();

抽象类可以有抽象方法,有抽象方法的一定是抽象类;子类继承了抽象父类 一定要实现父类的 抽象方法;

2. interface 实现 implements;
接口成员方法只能是 抽象类方法;或者default修饰方法(jdk1.7以后的);
public interface n {
public abstract void a();
或者 public default void a();
}
实现 public class a implements n { }

抽象类和接口类都不能被实例化;如果要实例化的话 可以通过 多态,但是这并不是实例化抽象和接口类;

接口类与抽象类十分相似;


二、类与类,类与接口,接口与接口 的关系

类与类 只有单继承 或者 多层继承;

类与接口 一个类可以实现多个接口;

接口与接口 接口可以多继承接口;

三、抽象类与接口的区别

 ● 语法上区别

 

抽象类

接口

成员变量

可以有变量也可以常量

只能有静态常量,被public static final修饰

构造方法

抽象类不能实例化,但是有构造方法

接口也不能实例化,且没有构造方法

成员方法

可以有抽象方法,也可以有非抽象方法

只能是抽象方法,被public abstract修饰(jdk1.7及其以前)

类之间的关系

只能单继承,可以多实现接口

接口之间可以多继承

代码块

可以有代码块

没有代码块

设计上区别

抽象类是对一种事物的抽象,即对类抽象;

而接口是对行为的抽象。

 

---初学者 一起交流。

posted on 2019-02-28 17:25  飞翔の残翼  阅读(189)  评论(0)    收藏  举报