抽象类---abstract
1,abstract修饰的类为抽象类
2,abstract修饰的方法为抽象方法,只有方法名,没有实现
3,抽象类的所有方法,继承了他的子类都必须实现它的方法(除非它的子类也抽象)
4,抽象类,单继承(extends)
5,抽象类不能new,只能靠子类去实现:约束
6,抽象类也可以有正常普通方法,抽象方法必须在抽象类中,子类继承抽象方法
7,抽象类存在的意义:提高开发效率,可扩展性更强
8,抽象类有构造器吗?
抽象类可以有构造器:
1),构造器可以用来初始化抽象类中的成员变量
2),虽然抽象类不能直接实例化,但当子类继承抽象类时,它们可以调用抽象类的构造器来确保父类的成员变量被正确初始化。
3),如果抽象类没有显式定义构造器,Java会提供一个无参的默认构造器。但是,如果抽象类定义了自己的构造器,子类在构造时必须显式调用这些构造器。
接口---interface
1,比抽象类还要抽象的抽象,更专业的抽象,interface修饰
2,接口的本质是契约
3,接口里的所有定义都是抽象的,默认都是public abstract
4,接口,多继承(接口都需要实现类,类实现接口implements)(多继承表现:class A implements B,C)
5,实现可接口的类,就需要重写接口的所有方法
6,只能有规范方法,不可有普通方法
7,接口里面定义的属性都是常量,默认public static final(一般不用)
8,接口不能直接被实例化,没有构造方法
原学习视频