优秀的编程知识分享平台

网站首页 > 技术文章 正文

每日两题:抽象类和接口的区别

nanyue 2025-01-12 17:33:56 技术文章 2 ℃

每日一题,你来投稿,我来解答!


1、抽象类和接口的区别

一: 相同点

  都不能直接实例对象,都可以包含抽象方法

二: 不同点

  1、接口中除了静态方法和默认方法外只能存在抽象方法,但是抽象类中既可以存在抽象方法也可以存在非抽象方法。

  2、接口可以多实现,但是类只能单继承

  3、接口中只能定义常量,抽象类中可以定义常量和变量

  4、接口中没有构造函数,抽象类中有构造函数


2、重写equals方法需要注意的事项

注: java规范中要求重写equals方法需要具有以下的特性:

1、自反性: 针对非空的x,使用x.equals(x)应该返回true

2、对称性: 针对x,y,如果x.equals(y)为true,那么y.equals(x)也应该为true

3、传递性: 如有x,y,z,存在x.equals(y)和y.equals(z)都为True,那么x.equals(z)也应该为true

4、一致性: 如果比较对象未发生改变,则反复调用equals方法应该返回同样的结果

5、对于任意的非空x,x.equals(null)应该返回false



  想了解更多或者投稿,欢迎关注和私信回复【每日一题】或【面试资料】。


最近发表
标签列表