面试之Java语言基础
1、标识符的命名规则
标识符只能由数字、字母(a-z、a-z)、下划线( _ )和$组成,并且第一个字符不能为数字。
2、instanceof关键字的作用
用法:对象 a instanceof 类b。
instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。注意:如果对象a为null,则返回false。
3、strictfp关键字的作用
strictfp可以用来修饰一个类、接口或者方法,在所声明的范围内,所有浮点数的计算都是精确的。当一个类被strictfp修饰时,所有方法默认也被strictfp修饰。
4、什么是不可变类?
不可变类:当创建了一个类的实例后,就不允许修改它的值了。特别注意:string和包装类(integer,float...)都是不可变类。
扩展问题1:new string("abc");创建了几个对象?
1个或2个对象。如果常量池中原来有“abc”,那么只创建一个对象;如果常量池中原来没有字符串“abc”,那么就会创建2个对象。
扩展问题2:
string s ="abc";
string ss ="ab"+"c";
system.out.pringln(s==ss);
输出结果为:true
解析:"ab"+"c"在编译时就被转换为“abc”。
扩展问题3:
string s="abc";
char [] ch={'a','b','c'};
system.out.println(s.equals(ch));
输出为:false
解析:s和ch分别为字符串类型和数组类型,所以输出为false。
上一篇: 吃什么才会长高, 小朋友家长要看看