Java 基础面试个人记录
Java
boolean:布尔类型,作为标志记录true/false的信息,默认值为false,封装类型为Boolean
char:字符类型,存储任何形式的单个字符,封装类型为Char,默认值'u0000'
long:常用于数值较大的整型上,八个字节64位,封装数据类型Long,数值后添加L/l,不分大小写,但是为了避免与1看起来相同,建议大写L,默认值0L
double:双精度浮点类型,浮点类型的默认类型是double,默认值是0d,封装数据类型为Double
float:单精度浮点类型,四个字节32位,常用于较大数值的浮点类型上,默认值是0f,封装数据类型为Float
int:整型,默认值0,封装类型为Integer
byte:占用空间为int的四分之一,1个字节8位,默认值0,封装数据类型Byte
short:占用空间为int的二分之一,2个字节16位,封装数据类型Short
类型自动转换从低到高:
byte,short,char — int — long — float — double
引用类型
String:字符串类型,final修饰,具有不可变性
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Java中的关键字:
private、public、protected、abstract、class、extends、final、implements、interface、native、new、static、try、catch等等,全部大概五十来个关键字
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
重载与重写:
重载:同一个类中,方法名称相同,参数类型、个数、顺序不同,方法返回值和修饰符可以不同,例如:
StringBuffer a = new StringBuffer(); StringBuffer b = new StringBuffer("aaa");
重写:子类对父类中允许访问的方法的实现过程进行重新编写,父类的修饰符非私有,且不能用final、static修饰,构造方法无法重写,子类修饰符访问范围必须大于父类,访问修饰符排序从小到大: private -> protected -> public
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Throwable:
Throwable是Error和Exception的顶级父类
Error指的是程序运行时抛出的最严重错误,无法被后续代码修复,例如ThreadDeath
Exception分为:受检查异常和运行时异常
受检查异常:被try包裹着,可以被catch子句捕获处理,例如IOException、ClassNotFoundException、FileNotFoundException等
运行时异常:系统运行时出现的错误,无法被处理,例如:ClassCastException、IndexOutOfBoundException、ArithemeticException等
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
final、finally、finalized
final修饰类,类无法被继承,修饰方法,方法无法被重写,修饰变量,变常量,需要定义初始值,且无法改变
finally和try-catch一起使用,也可以直接和try一起使用,finally中包裹的代码是一定会执行的,当然,如果在执行finally之前写了Systen.exit那么就不会执行,又或者连接断开,系统崩溃等情况下也不会执行
finalized是垃圾回收期调用的方法,比在在垃圾回收器确定该对象没有被指针指向之后才调用
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Java注解:
Java常用注解:@Override、@SuppressWarnings、(Spring提供)@Controller、@Service、@Mapper、@Param、(Lombok提供)@Data等
这些注解就是代码中的特殊标记,可以在编译、类加载、运行时被读取、并执行,这三种状态对应的是RetentionPolicy枚举类中的SOURCE、CLASS、RUNTIME三种级别
而Java注解中存在元注解:@Target(注解的适用范围)、@Retention(注解的使用阶段)、@Inherited(注解可以被继承)、@Documented(是否生成文档)等
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通