Java 基础部面试

来源:互联网 发布:绝地战争源码 编辑:程序博客网 时间:2024/05/19 23:54

1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

可以有多个类,但是只能有一个Public类,并且public类名必须与文件名一致。

2、Java 有没有 goto?
java 中的保留字,现在没有在 java 中使用。

3、说说&和&&的区别。

&和&&都可以表示逻辑与,但是&还可以用做按位与操作,&&还具有短路功能,如果第一个表达式为false并不计算第二个表达式

4、switch 语句能否作用在 byte 上,能否作用在 long 上,能否作用在 String上?

不能,switch作用在int short char byte.

5、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

short s1 = 1; s1 = s1 + 1;有错,s1 = s1 + 1;需要强制类型转换。short s1 = 1; s1 += 1;没错

6、char 型变量中能不能存贮一个中文汉字?为什么?

可以,char 型变量是用来存储 Unicode 编码的字符的,unicode 编码字符集中包含了汉字

7、用最有效率的方法算出 2 乘以 8 等于几?

2<<3

8、使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

引用不能改变但引用的对象可以改变

9、"=="和 equals 方法究竟有什么区别?

“==”用来查看两个变量的值是否相等,equals方法主要是检查两个变量的指向对象是否是同一个对象

10、静态变量和实例变量的区别?

静态变量加了static,不需要创建实例就可以直接使用。而实例变量需要创建实例后才会分配存储空间,并且需要创建实例后才可以被使用

11、是否可以从一个 static 方法内部发出对非 static 方法的调用?

不可以,非static方法必须使用实例调用

12、Integer 与 int 的区别?

Integer是引用类型,int是基本类型(或者说是java的封装类)java有8种基本类型:int char byte long short boolean float double,对应的封装类:Integer Character Byte Long Short Boolean Float Double

13、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

Math.round(11.5)等于12,Math.round(-11.5)等于-11

14、下面的代码有什么不妥之处?
 if(username.equals(“zxx”){}

username可能为null会出现空指针异常,应该改为:"zxx".equals(username)

15、Overload 和 Override 的区别。Overloaded 的方法是否可以改变返回值的类型?

Overload 是重载的意思,Override 是覆盖的意思,也就是重写。重载 Overload 表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相
同(即参数个数或类型不同)。
重写 Override 表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。


0 0