// abstract 抽象类 单继承 public abstract class Action { //约束,可以多人实现 //abstract 抽象方法,只有方法名字,没有方法的实现 public abstract void doSomething(); }
//抽象类的所有方法继承了他的子类都必须要实现他的方法,除非子类也是抽象的 // public abstract class A extends Action{} public class A extends Action{ @Override public void doSomething() { } }
不能new这个抽象类,只能靠子类去实现它
抽象类中可以写普通方法,但抽象方法一定在抽象类中
抽象类可以作为一个模板来使用,从而减少开发效率
面向对象15:抽象类_哔哩哔哩_bilibili
接口就是规范,定义的是一组规则,体现了现实世界中“如果你是...则必须能.….”的思想
接口的本质是模型
编程的精髓,是对对象的抽象,最能体现这一点的就是接口
接口的实现
public interface User { //接口中的所有定义的属性都是抽象的 public static final int age = 10; //接口中的所有定义的方法都是抽象的 public abstract void add(String name); void delete(String name); void update(String name); void query(String name); }
package com.luo.oop.demo11; public interface Timer { void timer(); }
package com.luo.oop.demo11; public class UserImpl implements User, Timer { public void add(String name){} public void delete(String name){} public void update(String name){} public void query(String name){} public void timer() {} }
面向对象16:接口的定义与实现_哔哩哔哩_bilibili