2018新的一年开启,对于学java的工程师来讲,是一个新的开端,新人面临新的招聘面试,Java工程师这类型技术性岗位的面试,总是少不了面试题,IT培训网小编整理了一些Java面试题,祝大家在2018年都能找到满意的高薪工作!
一、选择题
1.Java程序的种类有(BCD )
A.类(Class) B.Applet C.Application D.Servlet
2.下列说法正确的有( BCD)
A. 环境变量可在编译source code时指定
B. 在编译程序时,所能指定的环境变量不包括class path
C. javac一次可同时编译数个Java源文件
D. javac.exe能指定编译结果要置于哪个目录(directory)
3.下列标识符不合法的有( ACD)
A.new B.$Usdollars C.1234 D.car.taxi
4.下列说法错误的有( BCD)
A. 数组是一种对象
B. 数组属于一种原生类
C. int number=={31,23,33,43,35,63}
D. 数组的大小可以任意改变
5.不能用来修饰interface的有(ACD )
A.private B.public C.protected D.static
6.下列正确的有(ACD )
A. call by value不会改变实际参数的数值
B. call by reference能改变实际参数的参考地址
C. call by reference不能改变实际参数的参考地址
D. call by reference能改变实际参数的内容
7.下列说法错误的有( ACD)
A. 在类方法中可用this来调用本类的类方法
B. 在类方法中调用本类的类方法时可直接调用
C. 在类方法中只能调用本类中的类方法
D. 在类方法中绝对不能调用实例方法
8.下列说法错误的有(ABC )
A. Java面向对象语言容许单独的过程与函数存在
B. Java面向对象语言容许单独的方法存在
C. Java语言中的方法属于类中的成员(member)
D. Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同
9.下列说法错误的有(BCD )
A. 能被java.exe成功运行的java class文件必须有main方法
B. J2SDK就是Java API
C. Appletviewer.exe可利用jar选项运行.jar文件
D. 能被Appletviewer成功运行的java class文件必须有main方法
二、简答题
1、在java中如果声明一个类为final,表示什么意思?
答:final是最终的意思,final可用于定义变量、方法和类但含义不同,声明为final的类不能被继承。
2、父类的构造方法是否可以被子类覆盖(重写)?
答:父类的构造方法不可以被子类覆盖,因为父类和子类的类名是不可能一样的。
3、请讲述String 和StringBuffer的区别。
答:String 类所定义的对象是用于存放“长度固定”的字符串。
StringBuffer类所定义的对象是用于存放“长度可变动”的字符串。
4、如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写这个C类呢?
答:因为类A、B不是接口,所以是不可以直接继承的,但可以将A、B类定义成父子类,那么C类就能实现A、B类的功能了。假如A为B的父类,B为C的父类,此时C就能实现A、B的功能。
5、结合Java视频Lesson5(多线程),分析sleep()和wait()方法的区别。
答: Sleeping睡眠的意思 : sleep() 方法用来暂时中止执行的线程。在睡眠后,线程将进入就绪状态。
waiting等待的意思: 如果调用了 wait() 方法,线程将处于等待状态。用于在两个或多个线程并发运行时。
6、谈谈你对抽象类和接口的理解。
答:定义抽象类的目的是提供可由其子类共享的一般形式、子类可以根据自身需要扩展抽象类、抽象类不能实例化、抽象方法没有函数体、抽象方法必须在子类中给出具体实现。他使用extends来继承。
接口:一个接口允许一个类从几个接口继承而来,Java 程序一次只能继承一个类但可以实现几个接口,接口不能有任何具体的方法,接口也可用来定义可由类使用的一组常量。其实现方式是interface来实现。
7、 Object有哪些公用方法?
a. 方法equals测试的是两个对象是否相等
b. 方法clone进行对象拷贝
c. 方法getClass返回和当前对象相关的Class对象
d. 方法notify,notifyall,wait都是用来对给定对象进行线程同步的
8、抽象类和接口的区别
a. 一个类只能继承单个类,但是可以实现多个接口
b. 接口强调特定功能的实现,而抽象类强调所属关系
c. 抽象类中的所有方法并不一定要是抽象的,你可以选择在抽象类中实现一些基本的方法。而接口要求所有的方法都必须是抽象的。
9、 JAVA多态的实现原理
a. 抽象的来讲,多态的意思就是同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
b. 实现的原理是动态绑定,程序调用的方法在运行期才动态绑定,追溯源码可以发现,JVM 通过参数的自动转型来找到合适的办法。