java面试题《小白基础整理》

再来10道java基础题,供一样白的你,一起学习分享

 

1.JDK与JRE区别

 

JDK是JAVA开放工具集,供给开发者下载

JRE是运行环境,用于运行JAVA文件,供给程序用户下载。

JDK安装包中自带JRE,JVM,因此 JDK>JRE

 

2.==和equals()区别

 

基本数据类型一般用 ==, 而 == 和 equals 比较的都是数值对象

复合数据类型(String Integer Date)equals比较数值对象 ,==比较地址值

 

3.final在JAVA中的作用

 

修饰类:不可被继承

修饰方法: 锁定方法防止继承类修改

提高效率 , 原理:基于内嵌机制,调用final方法时,直接将方法主体插入调用处,省了调用函数的 开销。但如果方法过于庞大或者有循环,这种提高效率的方法可能失效

修饰变量:防止变量值改变。final修饰类的成员变量,必须初始化赋值且不能改变

4.hashcode相同,equals相同吗

hashcode获取对象在哈希表中的索引码(哈希码)

如果两个对象相等,他们的hashcode一i的那个相同 equals 为TRUE

如果两个hashcode相同 他们的equals并不一定相等。。。,

因为hashcode相同 就是两个键值对的哈希值相等 但可能存在哈希冲突的情况,并不一定得到键值对相等

 

5.Math.round(-1.5); 结果为-1

 

6.java中字符串操作的类

str.length 长度

str.indexof str.lastindexof 指定字符在串中的位置

str.equals

str.charAt获取指定位置字符

str.replace 替换

str.toUppercase/Lowercase

str.trim去掉首位空格

StringBuffer类:追加append 插入insert 替换 setCharAt

 

7.抽象类必须有抽象方法吗

抽象类可以没有抽象方法,但是如果一个类已经声明,即使没有抽象方法,也不能再实例化,不能直接构造该类的对象

如果类中有一个抽象方法 ,那么必须声明抽象类

 

8.抽象类可以被final修饰吗

不能

抽象方法为了继承之后重写方法所用

final修饰的类 无法继承

 

9.抽象类与普通类区别

抽象类 : Astract 修饰 ,方法不能有方法的主体只能有声明 被继承时子类必须实现所有方法,延伸性好可以多态

普通类:public 等修饰 ,可以有主体,不必实现所有,不可多态

 

10.抽象类与接口区别

抽象类:

被子类继承,方法声明与实现,定义普通变量

接口:

被类实现,自己本身只能做方法声明,定义的变量只能是公共的静态常量

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值