Java八股文day01-基础篇

Java八股文基础篇

java语言的特点

  • 面向对象

  • 平台无关性

  • 简单性

  • 多线程

  • 安全性

  • 健壮性

  • 高性能

  • 分布式处理

面向对象和面向过程的区别是什么?

1.面向过程:基于功能或过程,强调的是动作的本身,按顺序执行任务的程序设计。

2.面向对象:基于对象概念,强调数据和操作数据的方法结合,支持继承、封装、多态。

说说标识符的命名规则

1.标识符的含义:在程序中我们自己定义的内容,比如类的名字,方法名称以及变量名称等等,都是标识符。

2.命名规则:(硬性要求)标识符可以包含英文字母,0-9的数字,$以及_标识符,不能以数字开头,标识符不能是java保留的关键字。

3.命名规范:(非硬性要求)类名规范:首字符大写,后面每个单词小写(大驼峰式)。

变量名规范:首字母小写,后面每个单词首字母大写(小驼峰式)

方法名规范:同变量名

说说java八种基本数据类型的大小以及他们的封装类

1.byte:大小为8位,默认值0,封装类是Byte。

2.short:大小为16位,默认值0,封装类是Short。

3.int:大小是32位,默认值是0,封装类是Integer。

4.long:大小是64位,默认值是0L,封装类是Long。

5.float:大小是32位,默认值是0.0f,封装类是Float。

6.double:大小是64位,默认值是0.0d,封装类是Double。

7.char:大小是16位,默认值是\u0000(空字符),封装类是Character。

8.boolean:大小不明确(依赖于虚拟机实现),有一个默认值是false,封装类是Boolean。

instanceof关键字有什么作用?

instanceof关键字用于检查一个对象是否是指定类或其子类的实例,返回true或false。

自动装箱和自动拆箱是什么?

1.自动装箱:基本类型自动转换为对应的包装类型。例如:

  • 将int 转换为Integer

  • 将double转换为Double

  • 将cahr转换为Character

2.自动拆箱:包装类型转换为对应的基本类型

重载和重写有什么区别

1.重载

  • 发生在同一个类中。

  • 方法名相同,参数列表不同(类型,个数,顺序)

  • 返回类型可以不同,不影响重载的判断

  • 编译时是多态

2.重写

  • 发生在父子类之间

  • 方法名,参数列表相同,只修改函数体

  • 返回类型必须相同或为子类型

  • 访问权限要被父类高

  • 运行时多态

==和equals的区别

==:比较两个对象的引用或基本数据类型的值是否相同

equals:默认是比较对象的引用,可被重写来比较对象的内容

Hashcode有什么作用?

hashCode()方法的作用是返回对象的哈希码,主要用于优化信息存储结构,如哈希表(HashMap、HashSet等,)通过哈希码来快速定位对象的存储地址,提高数据的访问效率。在java中相等的对象必须具有相同的哈希码。

String、StringBuffer、StringBuilder的区别

ArrayList和LinkedList的区别是什么?

1.ArrayList:

  • 基于动态数组实现,支持随机访问

  • 插入、删除操作需要数据拷贝,效率较低。

  • 扩容成本高,需要复制整个数组。

2.LinkedList:

  • 基于双向链表实现

  • 插入、删除操作效率高,不需要移动其他元素。

  • 不支持高效的随机访问

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值