java基础面试题4

2022/6/30 1:50:26

本文主要是介绍java基础面试题4,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.static关键字有什么作用?

Static可以修饰关键内部类,方法,变量,代码块

Static修饰的类是静态内部类

Static修饰的方法是静态方法,表示该方法属于当前类的,而不属于某个对象的,静态方法也不能被重写,可以直接使用类名来调用。

在static方法中不能使用this或者super关键字。

Static修饰变量是静态变量或者叫类变量,静态变量被所有实例所共享,不会依赖于对象。

静态变量在内存中只有一份拷贝,在JVM加载类的时候,只为静态分配一次内存。
Static修饰的代码块叫静态代码块,通常用来做程序优化的。静态代码块中的代码在整个类加载的时候只会执行一次。

静态代码块可以有多个,如果有多个,按照先后顺序依次执行。

2、final在java中的作用,有哪些用法?

final也是很多面试喜欢问的地方,但我觉得这个问题很无聊,通常能回答下以下5点就不错了:

1. 被final修饰的类不可以被继承

2. 被fifinal修饰的方法不可以被重写

3. 被final修饰的变量不可以被改变.如果修饰引用,那么表示引用不可变,引用指向的内容可变.

4. 被final修饰的方法,JVM会尝试将其内联,以提高运行效率

5. 被final修饰的常量,在编译阶段会存入常量池中.

除此之外,编译器对final域要遵守的两个重排序规则更好:

在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序
初次读一个包含final域的对象的引用,与随后初次读这个final域,这两个操作之间不能重排序

3、StringString StringBuffffer 和 StringBuilder 的区别是什么?

String是只读字符串,它并不是基本数据类型,而是一个对象。从底层源码来看是一个final类型的字符数组,所引用的字符串不能被改变,一经定义,无法再增删改。
每次对String的操作都会生成新的String对象
每次+操作 : 隐式在堆上new了一个跟原字符串相同的StringBuilder对象,再调用append方法 拼接+后面的字符。
StringBuffer与StringBuilder都继承了AbstractStringBuilder类,而AbtractStringBuilder又实现了CharSequence接口,两个类都是用来进行字符串操作的。在做字符串拼接修改删除替换时,效率比string更高。StringBuffer是线程安全的,Stringbuilder是非线程安全的。所以Stringbuilder比stringbuffer效率更高,StringBuffer的方法大多都加了synchronized关键字
4、String str=”aa”,与String str=new String(“bb”)一样吗?
一共有两个引用,三个对象。因为”aa”与”bb”都是常量,常量的值不能改变,new一个String实例放入堆中,而常量放入常量池中。栈的对象头指向堆,堆指向常量池。
5、讲下java中的math类有那些常用方法?

Pow():   幂运算

Sqrt():   平方根

Round():  四舍五入

Abs():   求绝对值

Random():   生成一个0-1的随机数,包括0不包括1

6、String类的常用方法有那些?

charAt:返回指定索引处的字符

indexOf():返回指定字符的索引

replace():字符串替换

trim():去除字符串两端空白

split():分割字符串,返回一个分割后的字符串数组

getBytes():返回字符串的byte类型数组

length():返回字符串长度

toLowerCase():将字符串转成小写字母

toUpperCase():将字符串转成大写字符

substring():截取字符串

format():格式化字符串

equals():字符串比较

7、Java中的继承是单继承还是多继承

Java中既有单继承,又有多继承。对于java类来说只能有一个父类,对于接口来说可以同时继承多个接口

8、Super与this表示什么?

Super表示当前类的父类对象
This表示当前类的对象

9、普通类与抽象类有什么区别?

普通类不能包含抽象方法,抽象类可以包含抽象方法

抽象类不能直接实例化,普通类可以直接实例化

10、什么是接口?为什么需要接口?

接口就是某个事物对外提供的一些功能的声明,是一种特殊的java类,接口弥补了java单继承的缺点

 



这篇关于java基础面试题4的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程