文档介绍:一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
可以,但是只能有一个类用public修饰,并且用public修饰的类名与文件名要一致
2、&和&&的区别。
&和&&都可以用作逻辑与;
&&还具有短路功能,即如果第一个表达式的结果为false,则不再计算第二个表达式;
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作。
3、Java有没有goto?
java中的保留字,现在没有在java中使用。
4、在JAVA中,如何跳出当前的多重嵌套循环?
break+变量控制与 return
5、switch是否能作用在byte上,是否能作用在long上,是否能作用在String上?
Switch可以作用在int上,而byte可以隐式转换为int 所以能作用在byte上
不能作用在long上,也不能作用在String上
6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
1在java中为int数据类型,short+int=int,大类型转为小类型,编译时,会报告需要强制转换类型的错误。s1+=1不会报,因为JVM会对它特殊处理(自动强转)
7、char型变量中能不能存贮一个中文汉字?为什么?
可以,char型变量是用来存储unicode编码的,而unicode编码包含了中文,所以是可以保存的
8、编程题: 用最有效率的方法算出2乘以8等於几?
2<<3,表示将2左移3位;一个数左移几位就表示这个数乘以了2的几次方,左移运算,CPU直接支持,所以是最有效率的
9、请设计一个一百亿的计算器
思路:用两个数组分别保存两个操作数,再新建一个数组保存结果。
10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
引用变量不能变
11、"=="和equals方法究竟有什么区别?
==和equals方法都可以用来比较两个对象是否是同一个对象。
==还可以比较两个变量的值是否相等。
equals是Object类中的方法,可以由子类重写此方法,实现内容相等。
12、静态变量和实例变量的区别?
语法上不同: 静态变量前要加static关键字,实例变量不需要
程序运行时不同: 实例变量是属于某个对象的,只有创建了对象,才会为这个对象的实例变量分配空间。静态变量是属于类的,当程序加载了这个类的字节码文件,就会为静态变量分配空间,并且所有对象共享这个变量
13、是否可以从一个static方法内部发出对非static方法的调用?
不可以,非static方法需要与对象关联在一起的,而static方法调用时不需要对象,可以直接调用,也就是说调用static方法时,可能还没有创建任何实例
14、Integer与int的区别
int是java中的8种基本数据类型之一,默认值是0,Integer是int的包装类,默认值是null,即Integer可以表示未赋值和赋值为0
15、()等於多少? (-)等於多少?
12,-11,()方法的实现是: (n+);
16、作用域public,private,protected,以及不写时的区别
本类 同包 子类 其他类
public ✔✔✔✔
protected ✔✔✔✘
friendly ✔✔✘✘
private ✔✘✘✘
17、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
Overload是重载,Override是重写。
Overload是指在一个类中,方法名相同,参数列表不同,那么这些方法之间构成重载。
Override是指在父子类之间,子类的方法签名和父类的方法签名完全一样,那么这两个方法构成重写。
Overload的方法可以改变返回值。因为调用方法时,返回值可以接受也可以不接受,所以编译器无法根据返回值来判断是否重载。
18、构造器Constructor是否可被override?
Constructor不能被继承,所以不能override
19、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?
接口可以继承接口,抽象类可以实现接口,抽象类可以继承具体类,抽象类中可以有静态的main方法
20、写clone()方法时,通常都有一行代码,是什么?