Java⾯试中常被问到的⼏⼤技术难题
⼤家在平常⾯试java的过程中都会遇到哪些难题呢?还有⼀些即将去⾯试java的童鞋们,你们想知道技术⾯试中会涉及到哪些点吗?⼩编为你整理Java⾯试中会被问到的⼏个技术难题。
1、⼀个".java"源⽂件中是否可以包括多个类(不是内部类)?有什么限制?
可以有多个类,但只能有⼀个public的类,并且public的类名必须与⽂件名相⼀致。
2、Java有没有goto?
java中的保留字,现在没有在java中使⽤。static修饰的变量
3、说说&和&&的区别。
&和&&都可以⽤作逻辑与的运算符,表⽰逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有⼀⽅为false,则结果为false。 &&还具有短路的功能,即如果第⼀个表达式为false,则不再计算第⼆个表达式。 &还可以⽤作位运算符,当&操作符两边的表达式不是boolean类型时,&表⽰按位与操作。
⼩编是⼀个有着5年⼯作经验的java程序员,对于java,⾃⼰有做资料的整合,⼀个完整学习java的路线,学习资料和⼯具,相信这⾥有很多学习java的⼩伙伴,我创⽴了⼀个2000⼈学习扣,479121291。每晚都有java的直播课程。⽆论是初级还是进阶的⼩伙伴⼩编我都欢迎!
4、在JAVA中如何跳出当前的多重嵌套循环?
在Java中,要想跳出多重循环,可以在外⾯的循环语句前定义⼀个标号,然后在⾥层循环体的代码中使⽤带有标号的break语句,即可跳出外层循环。
5、switch语句能否作⽤在byte上,能否作⽤在long上,能否作⽤在String上?
在switch(expr1)中,expr1只能是⼀个整数表达式或者枚举常量(更⼤字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long类型不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它不能作⽤于swtich语句中。String在jdk1.7以后可以使⽤。
6、char型变量中能不能存贮⼀个中⽂汉字?为什么?
char型变量是⽤来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。补充说明:unicode编码占⽤两个字节,所以,char类型的变量也是占⽤两个字节。
7、使⽤final关键字修饰⼀个变量时,是引⽤不能变,还是引⽤的对象不能变?
使⽤final关键字修饰⼀个变量时,是指引⽤变量不能变,引⽤变量所指向的对象中的内容还是可以改变的。
8、静态变量和实例变量的区别?
在语法定义上的区别:静态变量前要加static关键字,⽽实例变量前则不加。
在程序运⾏时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使⽤这个实例变量。静态变量不属于某个实例对象,⽽是属于类,所以也称为类变量,只要程序加载了类的字节码,不⽤创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使⽤了。
9、是否可以从⼀个static⽅法内部发出对⾮static⽅法的调⽤?
不可以。因为⾮static⽅法是要与对象关联在⼀起的,必须创建⼀个对象后,才可以在该对象上进⾏⽅法调⽤,⽽static⽅法调⽤时不需要创建对象,可以直接调⽤。
也就是说,当⼀个static⽅法被调⽤时,可能还没有创建任何实例对象,如果从⼀个static⽅法中发出对⾮static⽅法的调⽤,那个⾮static ⽅法是关联到哪个对象上的呢?这个逻辑⽆法成⽴,所以,⼀个static⽅法内部发出对⾮static⽅法的调⽤。
10、java中实现多态的机制是什么?
靠的是⽗类或接⼝定义的引⽤变量可以指向⼦类或具体实现类的实例对象,⽽程序调⽤的⽅法在运⾏期才动态绑定,就是引⽤变量所指向的具体实例对象的⽅法,也就是内存⾥正在运⾏的那个对象的⽅
法,⽽不是引⽤变量的类型中定义的⽅法。
11、内部类可以引⽤它的包含类的成员吗?有没有什么限制?
完全可以。如果不是静态内部类,那没有什么限制!
如果你把静态嵌套类当作内部类的⼀种特例,那在这种情况下不可以访问外部类的普通成员变量,⽽只能访问外部类中的静态成员。
这11个常被问到的问题,你get到了吗?下次去⾯试如果遇到这样的问题,希望你能对答如流,早点获得⼼仪企业的offer吧!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论