几组容易混淆的概念梳理

1. 方法重载与方法重写

方法重载:参数列表(参数数据类型,参数个数)必须不同,返回值和修饰符可以不同也可以相同,不能对抛出不同的异常进行重载,抛出不同的异常不会对重载产生影响。
方法重写 :@override 参数列表,返回值,修饰符均不变,方法体改变,私有方法被重写意义不大,所以私有方法不能被重写

3. 静态变量与静态方法(static)

静态变量:静态变量被类中的所有对象共享,静态变量将变量值存储在一个公共的地址空间,如果某一个对象改变了静态变量的值,那么这个类所有的对象将会受到影响
静态方法与实例方法
实例方法属于某个对象,可以调用实例方法和静态方法,以及访问实例的数据域和静态数据域,
静态方法属于整个类,可以调用静态方法和访问静态数据域,但不能访问实例的数据域和实例方法

4.可见性修饰符

protect:受保护类型,可以被这个类,包内,子类调用
private:私有类型,只能被所在的类中的方法调用
无修饰:包私有,可以被同一个包内的任何一个类使用
public:共有
final: 不可以被重写或继承

5. 抽象类与抽象方法、接口

抽象类:抽象类和常规类很像,但是不能使用new操作符创建实例,不包含抽象方法的抽象类可以作为子类的基类,抽象类可以作为一种数据类型。
抽象方法:抽象方法只有定义而没有方法体,一个包含抽象方法的类必须声明为抽象类。

6.继承与多态

继承:Java只能进行单一继承,可以通过super来访问父类
接口(interface)
没有构造方法,
(实现:implement) 一个类可以实现多个接口。类与接口之间的关系叫做接口继承,简称继承,
接口可以继承其他接口
接口中的所有数据域都是public static final 所有方法都是 public abstract 所以Java允许省略这些修饰符
接口中允许存在共有的静态方法,和默认接口方法(可以用来添加新的方法)
与抽象类类似,接口可以作为引用变量的数据类型,
接口不能通过new操作符创建接口的实例
多态
动态绑定:声明类型是实际类型的父类

Comparable与Comparator

Comparable接口:(排序接口)在所有实现comparable接口的类都必须有compareTo()方法,如果对象是Comparable接口类型的实例,Arrays.sort(Object[])方法就可以使用compareTo()对数组中的对象进行排序和比较
Comparator接口:(比较接口)实现compare()方法,相当于一个比较器,与Comparable中compareTo()类似,在使用Arrays.sort(Object[],new comparator())实现排序功能。不需要修改被比较对象的源代码。

“==”与equals()

***“==”***:比较基本数据类型的值是否相等,比较引用变量是否是相同的引用,是否指向通一个对象
***equal()***:比较两个对象的内容是否相等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值