抽象类
单继承,不能被实例化,
约束,有人帮我们实现
抽象方法必须要在抽象类中,
抽象类中可以有普通的方法
//抽象类的所有方法要子类实现 否则子类继承之后也为抽象类 public abstract class Abstract { public abstract void run(); public void haha(){ System.out.println("sdaf"); } }
接口
面向接口编程
多继承 implements, 不能被实例化
接口中的所有定义都是抽象的 默认前缀为public abstract
public interface UserService{ int AGE=99; //一般都不这么做, 没人在接口中定义常量 默认public static final void add(String name); //public abstract }
public class UserServiceImpl implements UserService,TimeService{ @Override public void add(String name){ sout(...); } @。。。。。。 }
如果某个类implements 某个接口
那么表示,某类 instanceof 某个接口,然后再强转。