面试之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。

  

猜你喜欢

转载自www.cnblogs.com/HuiH/p/12679392.html