- 是否可以继承String类,为什么?
不可以,因为string类底层被final所修饰,被final修饰的类不可以被继承
- 抽象类的结构有哪几个?
变量,方法,抽象方法,构造方法,代码块,内部类
- 创建线程一共有几种方式?如何启动线程?
两种,继承thread类或者实现runnable接口,通过start方法启动线程
- ArrayList和linkedList的区别?
ArrayList底层为数组结构,向中间插入或删除某条数据时慢,查询快
linkedList底层为双端链式结构,向中间插入或删除某条数据时快,查询慢
- readLine()方法的作用是?
读取某一文本文档一整行的内容
- 抽象类是否可以继承抽象类?接口是否可以继承接口?
可以,可以
- final的特点是?
final修饰的变量必须赋值且值不可改
final修饰的方法不可以被重写
final修饰的类不可以被继承
- Java面向对象的三大特征是?
封装,继承,多态
- equals 和 == 区别?
==比较的是栈上的值,equals比较的是堆上的值
- short s1 = 1; s1 = s1 + 1;有什么错?
S1是short类型,1是int类型,低精度转高精度需要强转
- Java中四个访问修饰符的访问范围?
本类 跨类 跨包(父子类) 跨包
private √ × × ×
default √ √ × ×
protected √ √ √ ×
public √ √ √ √
- 什么是序列化?什么是反序列化?
序列化:将Java对象拆分成字节码序列,通过对象输出流传出
反序列化:将字节码序列通过对象输入流,传送到Java并重组成对象
- 简述Overload和Override的区别。
重载:方法名相同参数不同与返回值无关的叫做方法的重载
重写:子类继承父类可以重写父类所有非私有的方法
- 成员变量和局部变量的区别是?
局部变量定义在方法内,成员变量定义在方法外
成员变量可以没有初始值,局部变量必须赋初始值
- Set集合的实现类有?
HashSet和TreeSet
- 数组有没有length()这个方法? String有没有length()这个方法?
数组没有length方法,但是有length属性,string类有length方法
- 写出String类中至少5个常用的方法,并说明方法的作用?
Substring:截位 spilt:分隔 charAt:返回指定位置的字符 indexOf:返回指定字符的索引 replace:将原有的字符替换成新字符
- static的含义?
静态:被static修饰的内容会被保存到静态域
类访问:非static修饰的内容需要通过对象点去调用
- 构造器是否可以被重写,是否可以被重载?并说明构造方法的作用?
不可以被重写,可以被重载,创建对象,初始化成员变量
- 请用递归实现输出1 2 4 8 16
public static void f1(int a) {
if (a <= 16) {
System.out.println(a);
a *= 2;
f1(a);
}
}
public static void main(String[] args) {
f1(1);
}
一个静态方法,里面可不可以用this和super关键字
不能,因为this代表的是调用这个方法的对象的引用,super代表当前父类对象的引用,而静态方法是属于类的,不属于对象,静态优先于对象,静态方法成功加载后,对象还不一定存在。
order by与group by的区别
order by 排序查询、asc升序、desc降序
group by 分组查询、having 只能用于group by子句、作用于组内,having条件子句可以直接跟函数表达式。使用group by 子句的查询语句需要使用聚合函数。
1.list set 说一下。
Set和List的区别
1. Set 接口实例存储的是无序的,不重复的数据。List 接口实例存储的是有序的,可以重复的元素。
Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变 <实现类有HashSet,TreeSet>。
3. List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。查找元素效率高,
插入删除效率低,因为会引起其他元素位置改变 <实现类有ArrayList,linkedList,Vector> 。
2.java集合排序,怎么实现,arrylist排序。
3.集合遍历删除里面指定的元素怎么做?
4.arrylist去除里面重复的元素,实现思路
5.java集合中hashcode和equals这2个方法有什么作用知道吗?区别作用?都行
6.项目中,解决的最复杂的难题?项目开发



