java 基础知识点总结

1、为什么java中单继承多实现?

父类一般会有具体的实现,菱形继承则会出现子类没有重写的方法存在两个父类实现,冲突的问题。但接口中都是抽象方法,实现时必须重写,不会存在冲突问题。

2、基本数据类型,四类八种

整形:int short byte long;

布尔:boolean(1);

浮点型float(4) double(8),浮点数比较不能用==或equals因为二进制保存小数 存在精度丢失的问题,涉及精密比较计算时可以用big decimal;

字符型:char(2)。

对于基本数据类型,==比较的是值,对于包装类,==比较的是对象地址,所以对象的比较用equals(),equals用于比较属性是否相等,hashcode可以辅助进行判断两个对象是否相等,如果hashcode不相等则一定不等,若hashcode相等,还需要equals为true才能确定真的相等。重写equals方法后必须重写hashcode方法,因为必须保证相等对象的hashcode相等。

3、访问控制符?

修饰方法

private该类内部访问

protected同一包下可访问

public任意包可访问

defaut同一包

修饰类

public 任意包中可访问

defaut同一包中可访问

4、成员变量与局部变量?

成员变量属于类,可被访问控制符和static修饰,可被final修饰,有默认初值,未被static修饰的对象存储在堆中属于实例变量,被static修饰的在方法区中属于类变量。接口中的成员变量必须是public static final不可被修改且必须有初始值。

局部变量属于方法,不可被修饰,可被final修饰,没有默认初值,存储在栈中

5、重写 重载?

重载是方法名必须相同其他都可以不同,重写是方法名和参数都要相同,返回参数类型小于父类,访问权限修饰符大于父类。final static private 修饰的方法 不可重写

构造方法不可以被重写,因为构造方法名必须和类名相同,而父子类名不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值