一、Java接口和抽象类的相同点

(2)接口的实现类或抽象类的子类都只有实现了接口或抽象类中的方法后才能实例化。
二、Java接口和抽象类的不同点
(1)接口只有定义,不能有方法的实现,java 1.8中可以定义default方法体,而抽象类可以有定义与实现,方法可在抽象类中实现。
(2)实现接口的关键字为implements,继承抽象类的关键字为extends。一个类可以实现多个接口,但一个类只能继承一个抽象类。所以,使用接口可以间接地实现多重继承。
(3)接口强调特定功能的实现,而抽象类强调所属关系。
(4)接口成员变量默认为public static final,必须赋初值,不能被修改;其所有的成员方法都是public、abstract的。抽象类中成员变量默认default,可在子类中被重新定义,也可被重新赋值;抽象方法被abstract修饰,不能被private、static、synchronized和native等修饰,必须以分号结尾,不带花括号。
这不是强制的,只是建议,而且已经是潜规则了。一个java文件可以写多个类和接口在里面,但必须只能且必须有一个public的类或接口,而且那个public的类或接口必须和文件同名
}//父类中直接调用StringclassName=getClassName();}限定!)利用它的单调性求最值与利用均值不等式
只能讲不是必须的,因为要考虑到抽象类。
一个类如果是非抽象类也就是普通类的话实现某个接口,确实要重写此接口中所有的方法;
但是一个类如果是抽象类,抽象类实现某个接口,可以不实现此接口中定义的所有方法,可以由它的子类实现。