abstract
抽象类不可以用new关键字实例化,实例化一个抽象类没有任何意义
抽象类不能实例化,但是有构造器
抽象类和抽象方法 必须 被abstract 修饰
如果要用抽象类,可以使用多态
1.抽象类是用来被继承的,2.抽象方法就是用来实现的,3实现多态
抽象方法 抽象方法一定在抽象类中 不能被private修饰 不能被static修饰 没有{ } 子类必须实现抽象方法
interface 声明接口 implements 实现接口 1.接口中的变量全部是静态常量 2.接口中的方法默认是公开抽象(public abstract),就算不写,也会自动加上 3.在jdk1.8之前,接口只能有抽象方法,不能有其他方法; 在jdk1.8和之后的版本,可以手动声明默认方法(default)和静态方法(static) 4.接口可以多实现,一个类可以实现多个接口(多实现) 5.接口与接口之间使用extends 6.一个子类可以继承一个父类,实现多个接口 接口没有构造器
实现类可以重写default方法
如果两个接口的静态方法一模一样,一个类实现了这两个接口不会产生错误,因为jdk1.8只能通过接口调用接口中的静态方法.
如果两个接口的默认方法一模一样,实现类必须重写默认方法,否则编译失败.
创建子类对象时,会先执行加载父类的代码.
子类不能重写父类的静态方法.
静态方法不能使用外部的非静态属性,方法
原文:https://www.cnblogs.com/hcjk12580/p/11967662.html