java中接口和抽象类的区别有:
1.接口是公开的,不能有私有的方法或变量,而抽象类是可以有私有方法或私有变量的。
2.接口强调特定功能的实现,而抽象类强调所属关系。
3.抽象类的子类使用extends来继承,而接口必须使用implements来实现接口。
4.抽象类可以有构造函数,而接口不能有构造函数。
5.抽象类可以有main方法,并且我们能运行它,而接口不能有main方法。
6.类可以实现很多个接口,但是只能继承一个抽象类。
7.接口中的方法默认使用public修饰,而抽象类中的方法可以是任意访问修饰符。