Java面试题(基础篇)②

目录

[一,float f=3.4 是否正确?](#一,float f=3.4 是否正确?)

二,重写和重载的区别是什么

三,this和super的应用场景是什么

四,throw和throws的区别是什么

五,应该使用什么数据类型来计算价格


一,float f=3.4 是否正确?

首先 这种写法是不正确的。

因为 直接写出的字面量3.4是double类型的,将double赋值给float属于向下转型

这种情况下,Java是不允许直接赋值的,

如果一定要赋值,则需要强制类型转换 float f =(float)3.4

或者是在声明字面量3.4的时候,直接声明成float类型,即写成 float f =3.4F

二,重写和重载的区别是什么

重载重写都是用于描述方法间的关系的,但是他们的含义和场景确大不相同

  1. 重写是存在于子父类之间的,一般用在父类的方法无法满足子类需求时,子类重写方法来自定义方法功能

    它要求子类定义的方法与父类中的方法具有相同的方法名字,相同的参数表和相同的返回类型

  2. 重载是存在于同一个类中的,一般用在功能相似的方法需要接收不同的参数时,

    它要求多个方法具有相同的名字,但方法具有不同的参数列表

三,this和super的应用场景是什么

this和supper都是Java提供的关键字

  • this代表的是当前对象,一般用于在一个方法中调用本对象的成员变量或其它方法
  • supper代表是父类对象,一般在本对象和父对象出现成员名称冲突时,强行调用父对象的成员,也经常用于调用父类的构造方法

四,throw和throws的区别是什么

  • throws:用在方法的声明上,声明当前方法可能抛出的异常
  • throw:写在方法里,真正的抛出一个异常,抛出自定义异常。创建对象自定义抛出异常

五,应该使用什么数据类型来计算价格

如果不是特别关心内存和性能的话,使用 BigDecimal

否则使用预定义精度的 double 类型

相关推荐
淘源码d8 分钟前
医学影像云PACS系统——PACS诊断工作站
java·源码·影像处理·医院管理系统·影像工作站·云pacs系统·dicom 标准通信
NiceCloud喜云1 小时前
Anthropic 一周三连发:Cowork 多端、Fable 5 按需付费、J-space 论文的技术解读
java·服务器·网络·人工智能·ai
SamDeepThinking1 小时前
组合还是继承?我在项目里主要看这两个判断
java·后端·面试
momo1 小时前
JAVA基础知识
java·开发语言
就叫_这个吧2 小时前
Activiti7工作流入门+案例应用
java·activiti7·工作流
Z_W_H_2 小时前
minikube start --driver=docker --memory=4000mb出现PROVIDER_DOCKER_NEWGRP
java·docker·minikube
折哥的程序人生 · 物流技术专研2 小时前
第3篇:手写促销策略引擎(满减、打折、立减)
java·设计模式·策略模式·开闭原则·编程实战·扩充系列·促销引擎
郑州光合科技余经理3 小时前
海外外卖平台源码改造实战——多语言核心代码实现
java·开发语言·前端·后端·mysql·架构·php
耀耀_很无聊3 小时前
12_Redis Lua 脚本踩坑:为什么 tonumber(ARGV[x]) 会得到 nil?
java·redis·lua
奶油话梅糖3 小时前
锐捷常用命令速查表
java·网络·windows