1、short s1 = 1; s1 = s1 + 1;有错吗?
short s1 = 1; s1 += 1; 有错吗?

Java的基本数据类型转换

  • 自动类型转换: 小→大 byte→short→int→long→float→double
  • 强制类型转换:大→小 小类型 变量名 = (大类型)值
  • 类型提升:是指在多种不同类型数据的表达式中,类型会自动向范围表达大的值的数据类型提升

自增/自减运算符、复合赋值运算符底层做了优化,内部自动强制类型转换(++, --, += , -=)

  1. short s1 = 1; s1 = s1 + 1;

错误!

根据java的基本数据类型转换规则,s1为short类型的变量,在表达式s1 = s1 + 1;中,s1会自动转为int类型与1进行运算,运算结果为int类型,而int类型的值赋值给short类型的变量时需要强制类型转换。

  1. short s1 = 1; s1 += 1;

正确!

在复合赋值运算符底层自动进行强制类型转换,所以此处实际上是s1 = (int) s1 + 1;因为此处有强制类型转换,所以编译可以通过。

2、重载和重写的区别

  1. 定义不同:重载是定义相同的方法名、参数不同,重写是子类重写父类的方法
  2. 范围不同:重载是在一个类中,重写是子类与父类之间的
  3. 多态不同:重载是编译时的多态性,重写是运行时的多态性
  4. 参数不同:重载的参数个数、参数类型、参数顺序可以不同,重写父类子方法参数必须相同
  5. 修饰不同:重载对修饰范围没有要求,重写要求重写方法的修饰范围大于被重写方法的修饰范围

多态是一个类需要表示出多种形态,子类重写父类的方法,使子类具有不同的方法实现

1、从概念上来看

重载:重载指的是不用的函数使用相同的函数名字,可是,函数的参数、个数或者是类型都不同。

重写:重写也就是我们通常所说的覆盖,重写是指在派生类当中,重新对基类中的虚函数度重新实现。

2、从规则上来看

重载:

(1)重载可以有不同的访问修饰符

(2)重载能够抛出不同的异常

(3)重载一定要有不同的参数列表

重写:

(1)重写访问修饰符的限制一定要大于被重写方法的访问修饰符

(2)重写的参数列表一定要完全和被重写的方法相同,专否则的话不能称其为重写而是重载

(3)重写返回的类型一定要一直和被重写的方法的返回类型相同,否则不能称其为重写而是重载

(4)重写方法一定不可以抛出新的检查异常或者是比被重写方法申明更加宽泛的检查型异常

3、类的属关系上来看

重写:重写是垂直关系,是子类和父类之间的关系

重载:重载是水平关系,是同一个类中方法之间的关系

3、数组实例化有几种方式?
4、Java 中各种数据默认值
5、Object 类常用方法有那些?
6、java 中是值传递引用传递?
7、形参与实参区别
8、构造方法能不能重写?能不能重载?
9、内部类与静态内部类的区别?
10、Static 关键字有什么作用?
11、final 在 java 中的作用,有哪些用法?
12、String str=”aaa”,与 String str=new String(“aaa”)一样吗?
13、讲下 java 中的 math 类有那些常用方法?
14、Char 类型能不能转成 int 类型?能不能转化成 string 类型,能不能转成 double 类型
15、什么是拆装箱?
16、Java 中的包装类都是那些?
17、一个 java 类中包含那些内容?
18、那针对浮点型数据运算出现的误差的问题,你怎么解决?
19、面向对象的特征有哪些方面?
20、访问修饰符 public,private,protected,以及不写(默认) 时的区别?
21、接口有什么特点?
22、抽象类和接口的区别?
23、Hashcode 的作用
24、普通类与抽象类有什么区别?
25、什么是接口?为什么需要接口?
26、接口有什么特点?
27、拷贝和浅拷贝的区别是什么?
28、JDBC 操作的步骤
29、什么时候用 assert
30、数组有没有 length()这个方法? String 有没有 length()这个方法
31、用最有效率的方法算出 2 乘以 8 等于几?
32、String 和 StringBuilder、StringBuffer 的区别?
33、接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?
34、一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制?
35、Java 中的 final 关键字有哪些用法?

JavaOOP 面试题相关推荐

  1. 【2021最新版】JavaOOP面试题总结(99道题含答案解析)

    文章目录 1.什么是B/S架构?什么是C/S架构 2.Java都有那些开发平台? 3.什么是JDK?什么是JRE? 4.Java语言有哪些特点 5.面向对象和面向过程的区别 6.什么是数据结构? 7. ...

  2. 这108道 JavaOOP 面试题 你是不是都会了?

    1.什么是B/S架构?什么是C/S架构 1.B/S(Browser/Server),浏览器/服务器程序 2. C/S(Client/Server),客户端/服务端,桌面应用程序 2.Java都有那些开 ...

  3. JAVAOOP期末试题

    视频课堂 https://edu.csdn.net/course/play/8034 业务场景: 某金融企业内有基金若干,已知有基金编号(整型).基金名.基金净值(净值>0,初始值:1).收益率 ...

  4. JavaOOP面试题(108道)

    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进.

  5. linux sed面试题,【2021最新版】Linux面试题总结(48道题含答案解析)

    文章目录 1.绝对路径用什么符号表示?当前目录.上层目录用什么表示?主目录用什么表示? 切换目录用什么命令? 2.怎么查看当前进程?怎么执行退出?怎么查看当前路径? 3.怎么清屏?怎么退出当前命令?怎 ...

  6. 被boss直聘转发过多而“封杀”的2021年全套java高级面试题有多牛

    每年的金三银四都是各大公司招聘程序员的最佳时期,在这段时间内有好多程序员为面试而发愁,不知道如何才能收到好的offer,拿到理想的薪资,实现自我的人生价值! 我想告诉大家的是,其实都不用愁的,好好准备 ...

  7. 【2021最新版】JVM面试题总结(87道题含答案解析)

    文章目录 1.Java中会存在内存泄漏吗,请简单描述. 2.64位JVM中,int的长度是多数? 3.Serial与Parallel GC之间的不同之处? 4.32位和64位的JVM,int类型变量的 ...

  8. 2021年Java高级面试题总结

    零基础如何学习Java? 首先,你要明白一点,Java入门不难! 无论你是从事哪个行业,兴趣一定是最好的老师,也是你学习的动力. 学习方式1:自学 自学模式其实我个人不建议绝大部分的人选择,因为自学是 ...

  9. 【2021最新版】RabbitMQ面试题总结(32道题含答案解析)

    文章目录 1.什么是rabbitmq? 2.为什么要使用rabbitmq? 3.使用rabbitmq的场景. 4.如何确保消息正确地发送至RabbitMQ?如何确保消息接收方消费了消息? 5.如何避免 ...

最新文章

  1. 新笔记本怎么在桌面添加计算机文件夹,win10桌面悬浮文件夹怎么弄_win10电脑桌面悬浮文件夹如何添加-win7之家...
  2. 杂项题的基本解题思路——4、流量取证技术
  3. python列表索引超出范围 等于啥_python - IndexError:列表分配索引超出范围,Python
  4. post get mysql_jQuery – AJAX get() 和 post() 方法 | 菜鸟教程
  5. Flask使用ajax进行前后端交互
  6. 数据库设计的范式规范
  7. AS3.0常用第三方类库:TweenMax
  8. html表格怎样传入数据类型,Echarts图表中pie类型tooltip中formatter函数传递的参数从哪里来?...
  9. 互联网高可用架构技术实践
  10. hibernate的环境配置
  11. Hibernate Annotation 设置字段的默认值
  12. 四级重点高频词汇表_零基础,教你裸过英语四级!这些方法请收藏
  13. 晶闸管整流桥matlab仿真,整流12脉中频电源MATLAB-Simulink仿真及谐波分析
  14. 有没有人用过迅捷PDF转换器?文件转换效果怎么样?
  15. Linux sed按行遍历文件内容,并删除匹配成功的行
  16. 『.Net』微软家的女儿们
  17. 猛犸不上班--2021RoboCom决赛补题
  18. 第14周上机实践项目2——带姓名的成绩单(2)
  19. 计算机专业试讲10分钟教案,10分钟试讲教案怎么写
  20. java画图卡通人物,持续更新中

热门文章

  1. window.requestAnimationFrame Web3D渲染帧率控制
  2. FFMpeg 实现视频编码、解码
  3. Unity错误解决GetType().Name+“OnInspectorGUI must call ApplyRevertGUI to avoid unexpected behaviour.“
  4. vue组件走马灯_vue文字横向滚动走马灯公告代码示例
  5. 如果想做数据标注,你可能会遇到哪些坑?
  6. 016 | JavaWeb芝麻开门博客网项目源码 | 大学生毕业设计 | 极致技术工厂
  7. [原创]WIN8系统的远程桌面漏洞 利用QQ拼音纯净版实现提权
  8. php开发多用户商城用什么技术,php多用户商城系统有什么特点?
  9. 什么是「逼格」?怎么才能提高「逼格」?
  10. 浅谈一下刚学的Java集合