您的位置:首页 > 职场人生

java面试题(2)

2017-10-04 16:14 148 查看
1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

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

2.Java有没有goto?

java中的保留字,现在没有在java中使用。

3.&和&&的区别?

&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边表达式的结果都为true时,整个运算结果都为true;只要有一方为false,则结果为false。&&还具有短路的功能,&还可以用作位运算符。

4.在java中如何跳出当前的多重嵌套循环?

1)在语句外面定义一个标号,在里面使用这个标号(break);

2)里层循环体代码控制外层循环条件表达式的结果。

5.switch语句能否作用在byte上?能否作用在long上,能否作用在String上?

switch中只能是一个整数表达式或者枚举常量(更大字体),取是int基本类型或Integer包装类型,byte,short,char可隐含转换为int,所以long,String不能。

6.short s1 = 1;s1 = s1 + 1;有什么错?short  s1 = 1;s1 +=1;有什么错?

s1+1运算时会自动提升表达式的类型,所以结果是int型,在赋值给short类型s1时,编译器将报告需要强制转换类型的错误。+=是java语言运算符,可正确编译。

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

char变量是用来存储Unicode编码字符的,包含了汉字,某特殊汉字没有被包含在Unicode编码内,则不能存储特殊汉字。

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

2<<3;将一个数左移几位,就相当于乘以2的n次方。左移三位。

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

引用变量不能变,引用变量所指向的对象中的内容可以改变。

11.“=”和equals方法究竟有什么区别?

==操作符用来判断基本数据类型的值和引用数据类型的地址是否相等
equals方法是用于比较两个独立对象的内容是否相同

12.静态变量与实例变量的区别?
语法上:静态变量前要加static,而实例变量前不需要
程序运行上:静态变量直接使用类名来引用,实例变量必须创建对象后才可以通过对象使用

13.是否可以从一个static方法内部发出对非static方法的调用?
不可以。因为static方法调用不需要创建对象,可以直接调用
而非static方法是要与对象关联在一起的,必须创建一个对象后,才可以进行方法调用

14.Integer与int的区别
int是Java提供的8种基本数据类型之一。Integer是java为int提供的封装类。
int的默认值为0,Integer的默认值为null

15.Math类提供了三种与取整有关的方法:ceil,floor,round
ceil(天花板):向上取整
floor(地板):向下取整
round(四舍五入):即原来的数字加上0.5后在向下取整

17.请说出作用域public,private,protected,以及不写时的区别

作用域    当前类 同一package子孙类 其他package

public   
√     √         
√       √

protected  √    
√           √     
×

friendly  
√     √         
×      ×

private   
√     ×         
×      ×

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

Overload是重载,Override是覆盖

重载Overload表示同一个类中可以有多个名称相同的方法,但参数列表不同

重写是指方法名相同,参数列表相同,在此基础上重新定义方法

19.构造器Constructor是否可被override?

构造器Constructor不能被继承,因此不能重写Override,但可以被重载Overload

20.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?

接口可以继承接口。抽象类可以实现(implements)接口,抽象类可继承具体类,抽象类中可以有静态的main方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: