2022年java(基础)面试题

1.面向对象的三大特性:封装,继承,多态
1.封装:隐藏对象的属性和行为,不对外暴露内部的细节实现,提高信息的安全性,提供外部访问内部属性的方法,例如get()和set()方法。
2.继承:子类继承父类非私有的属性和方法,子类可以进行扩展创建自己的属性和方法。
3.多态:同一个行为的不同表现形式,同一个接口通过不同的实例实现不同的结果。实现多态的三个必要条件:继承,重写,向上转型(父类的引用指向子类的对象)

2.简单介绍一下java的跨平台原理
Java通过不同的系统,不同版本,不同位数的java虚拟机(jvm),来屏蔽不同的系统指令集差异而对外提供统一的接口(java API),对于我们普通的java开发者而言,只需要按照接口开发即可。如果我系统需要部署到不同的环境时,只需在系统上面按照对应的版本的虚拟机即可。

3.搭建一个java开发环境的步骤
Java开发环境需要些什么?
1.适用于我们的开发环境的jdk
2.对应开发环境eclipse
3,还需要web服务器(tomcat)

一,下载对应组件
二,安装
jdk安装正常流程安装即可,配置我们的JAVA_HOME,因为后面的eclipse和tomcat会依赖这个变量。
Eclipse正常解压就ok,设置workspace的默认编码
Tomcat正常解压就ok,把tomcat集成到eclipse中,安装插件就ok.

Svn/git

4.==与equals的区别?
1.==:针对基本类型,比较的是数值是否相等,针对引用类型,比较的是内存的引用地址是否相等。
2.equals:如果重写了Object类的equals(),比较的是数值是否相等,如果没有重写equals(),相当于 ==。

5.String,StringBuffer,StringBuilder?
1.针对可变性:String被final修饰,是一个字符数组类型,是不可变的对象,每次操作String,都会生成一个新的String对象,指针指向新的String引用对象,而
StringBuffer,StringBuilder是在原有的基础上操作,不会生成新的对象。
2.针对线程安全性:StringBuffer是线程安全的,StringBuilder是非线程安全的,因此StringBuilder的性能比StringBuffer高,单线程下使用StringBuilder,多线程环境下使用StringBuffer。

6.JDK与JRE的区别?
1.jdk是java开发工具,提供了java开发环境和运行环境;
jre是java运行环境,为java的运行提供了所需的环境。
2.jdk包含了jre,同时还包含了编译java源码的编译工具javac,和一些java程序调试和分析的工具,如果只是运行Java程序,只需要jre就可以,如果需要编写java程序,则需要jdk。

7.final在Java中的作用?
1.final修饰类,则不能被继承;
2.final修饰方法,则不能被重写;
3.final修饰变量,变成常量,必须初始化,初始化之后不能修改。

8.String能被继承吗?为什么?
不能被继承,原因是String类被final修饰了,而凡事被final修饰的类都不能被继承,同时也避免了继承被修改
的安全隐患了。

9.String属于基础的数据类型吗?有哪些基础类型?
1.String不是基础数据类型,是个引用对象。
2.八大基

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值