java基础简答题_JAVA基础常见简答题面试题

1.为什么java是半编译半解释性的语言,java如何实现跨平台

java的编译器先将其编译为class文件,也就是字节码;然后将字节码交由jvm(java虚拟机)解释执行, 所以很多地方都说“java是一种半编译、半解释执行”的语言

JAVA字节码通过虚拟机翻译(解释)给不同的平台,这个过程就叫做跨平台。JAVA字节码文件只有一个,但针对不同的平台会有不同的虚拟机,究其原因,实现跨平台最根本的东西是虚拟机

2.简述加强for循环有哪些使用限制

加强for不支持在遍历时修改集合元素

使用加强for时需要对所遍历的集合进行nul判断,否则会引发空指针异常

3.简述String、StringBuffer、StringBuilder的区别

String 类时不可变类,一旦一个String对象创建后,就不能修改知道销毁。

StringBufffer 则是一个字符序列可变的字符串 可以通过其提供的方法对该字符串进行各种操作 生成最终想要的字符串时,可以通过toString方法,将其转换成String类。

StringBuilder与StringBuffer基本相同 但区别是StringBuilder不需要安全检查,效率更高。

4.abstract class和interface有什么区别

Abstrcat 类是抽象类 interface 是接口 两者本质不同。

抽象类中可以有构造方法而接口中不能。

抽象类中可以包含普通或者抽象方法而接口中必须都是未实现的方法。

接口与接口之间可以多继承,而抽象类与类之间只能单继承。

一个类可以实现多个接口,而类与抽象类的继承只能为单继承

接口中的方法不加访问修饰符是 public abstract,而抽象类中不加访问修饰符是 默认的

5.简述Java类成员的访问控制权限

同类 同包 非同包子类 非同包非子类

Private √

Default √ √

Protected √ √ √

Public √ √ √ √

6.简述final的作用

可用于修饰变量 表示常量

可用于修饰类 表示最终类 即无子类

可用于修饰方法 表示最终方法 即不嗯你被重写或覆盖

7.简述overload和override的区别

Overload:重载

重载的方法名必须相同 但参数列表不同 构成重载的条件与返回值类型无关。

Override:重写

重写的方法名 方法列表必须完全相同,返回值类型如果是基本类型,则必须相同,如果是类类型,则应是其父类的返回值类型或子类。

8.简述Java的GC机制,finallize方法的作用

gc

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值