查缺补漏(二)Java基本知识

25 篇文章 0 订阅
3 篇文章 0 订阅

访问修饰符

  • private:仅对本类可见。
  • 无修饰符(默认):对本包可见。
  • protect:对本包以及所有子类可见。
  • public:对所有类可见。
修饰符\可见域类内部本包子类外部包
private
无修饰符
protect
public

equlas方法的重载

《core java》提供的一种方法

  1. 显式参数命名为 other。
  2. if (this == other) return true;检测是否引用到同一个对象。(似乎可以省略)
  3. if (this == null) return false;防止之后的检测抛出异常。
  4. if (getClass() != other.getClass()) return false;不属于同一个类则不相等。
  5. 比较所有域名。
// field1域是基本类型时直接比较,不是基本类型的话需要调用Objects的静态方法equals。
return field1 == other field1 
			&& Objects.equals(field2, other.field2)
			//如果调用field2.equals(other.filed2),则对于field2是null会抛出异常。

Objects.equals方法的源码如下:
在这里插入图片描述

  • 当自定义了构造函数时,默认构造函数将不会生成。子类的构造函数会默认调用父类的默认构造函数,如果父类没有默认构造函数则报错,子类也可以在构造函数中调用父类的构造函数(super),但是必须放在第一句。
  • 子类重写的方法的可见性不能低于父类方法的可见性(访问修饰符父类是protected,则子类不能是private,可以是public)。
  • 类中的代码块初始化变量域的执行顺序是,(1)变量初始化;(2)变量初始化和代码块的位置决定赋值顺序。
  • 常量也不一定不可以修改,比如依靠本地方法。
  • super和this的区别:super有两种用法:(1)相当于域,代表的是父类的域;(2)调用父类的构造函数; this有两种用法:(1) 相当于当前对象;(2)调用自己的其他构造函数。
  • object的基本方法:如:tostring, equals, hashCode, clone, finalize。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值