interface、class和abstract class的区别?
1、接口里只有抽象方法,不能包含普通方法,没有普通成员变量,没有构造方法;普通类里没有抽象方法,有普通方法、成员变量、构造方法;抽象类里可以有抽象方法也可以有普通方法,有普通成员变量和构造方法。
2、接口不能实例化,需要实现类来实现里面的方法;抽象类里的抽象方法需要子类继承来实现;普通类可以自己实现自己的方法。
3、接口的访问权限只有public,普通类可以有public、protected、默认、private,抽象类的访问控制权限有public和protected。
4、一个类可以实现多个接口,但只能继承一个抽象类或普通类。