java基础面试题(三)

105 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第3天,点击查看活动详情

1.请说出5个常见异常?中文亦可
空指针异常 IO流异常 下标越界异常 类型转换异常 文件未找到异常 线程阻塞异常 数组下标越界异常 算数异常

2.请说出10个常见String类的方法?
ToString():转换成字符串
CharAt():根据索引查找字符
Equals():判断两个字符串是否相等
Substring():截取字符串
HashCode():转成哈希码
Split():切片,分割字符串(字符串-(数组)
ReplaceAll():替换
ToUpperCase():转大写
Length():字符串长度
Concat():拼接字符串
Trim():去掉两端空格
Replace():替换

3.final关键字的特点?
Final可以修饰变量:常量,必须给初始值,并且不能被修改
修饰方法:不能被重写
修饰类:不能被继承

4.super和this的区别?
Super:父类
This:本类
Super():父类的构造方法,必须写在构造方法中的第一行,可以不写,默认调用无参构造方法
Super.属性:调用父类中的属性
Super.方法:调用父类中的方法
This():本类中的构造方法,必须写在构造方法中的第一行,和supe()不能同时存在
This.属性:调用本类中的属性,一般为了和同名形参区分
This.方法:调用本类中的方法

5、多线程的生命周期?
创建、等待、开启线程、结束 创建、等待、开启线程、阻塞、等待、开启线程、结束

6.多线程开启方式? 继承Thread类、创建子类的对象,调取start()开启线程 实现runnable接口,通过代理模式,创建对象,调取start()开启线程 通过直接实例化runnable接口,匿名内部类的形式,调取start()开启线程