做了题不能白做嘛,原题链接
做真题一个精髓就是从后往前做,讲究一个远古至今 2014年的题目都是客观题目,没有算法,呜呜,真好啊,虽然我还是错了挺多的哈,以下记录的题目和解析均是我自己错过的,留个笔记,仅供参考。牛客网有更加详细的解析,在这里只是记录我自己的思考会不太会的
1.Java是从()语言改进重新设计
解析:C++,Java从C++改进而来的,去掉了指针和多继承,采用GC机制(2023年的程序员表示GC机制将是大厂面试重点哈)
2. Java程序经编译后会产生?
解析: 会产生字节码文件(byte code),大家要知道跟机器直接交互的是机器指令,而Java程序并不是编译后就能直接变成机器码,机器指令与系统直接交互,所以有了JVM的存在。而C/C++在编译的时候直接编译成机器码。
3. 在jdk1.8之前,下列哪一种叙述是正确的( )
A abstract修饰符可修饰字段、方法和类
B 抽象方法的body部分必须用一对大括号{ }包住
C 声明抽象方法,大括号可有可无
D 声明抽象方法不可写出大括号
D 因为抽象方法无法被实例化,它只是用来修饰类和成员方法的,所以它只有一个特征前面只有特征签名,这道题的关键点就在有无大括号和用来修饰什么
4. 下列语句正确的是( )
A 形式参数可被视为local variable
B 形式参数可被所有的字段修饰符修饰
C 形式参数为方法被调用时,是真正被传递的参数
D 形式参数不可以是对象
A 形参可以看成是方法中的局部变量,只在方法的生命周期内有效;B形参只能由
final修饰符修饰;C 形参只是在方法定义时列出的参数,并不是实际参数; D 形参可以完全是对象,像void methodA(String a)a就是一个字符串对象
5. Unicode缺省是用16位来表示一个字的
记住是对的,这就是定义;汉字16字节,字母8字节
6. 下列哪种说法是正确的( )
A 实例方法可直接调用超类的实例方法
B 实例方法可直接调用超类的类方法
C 实例方法可直接调用其他类的实例方法
D 实例方法可直接调用本类的类方法
选D 解析: 因为A要用的话,得调用super进行限制 B的话虽然静态方法是与类相关的,但直接调用超类方法是不允许的,得使用类名 C的话也是要先引用再调用
7. java8中,忽略内部接口的情况,不能用来修饰interface里的方法的有( )
private和protected 解析: 在java8中,static方法和void方法允许在interface中使用了,接口是给别人继承方法用的,所以绝对不能用private和protected去修饰方法
8. 下列正确的有( )
A call by value不会改变实际参数的数值
B call by reference能改变实际参数的参考地址
C call by reference不能改变实际参数的参考地址
D call by reference能改变实际参数的内容
首先我们来明确两个机制Call by Reference vs. Call by Value:
前者是方法接收参数的值。如果修改了传递给方法的参数,那么外部的实际参数不会受到任何影响。
后者则是方法接收引用参数的引用,而不是参数的值。如果方法修改了引用参数,那么外部的实际参数也会受到影响;
举个例子,例如你传递进一个方法中一个对象的引用,在这个方法中你改变了这个对象中的age属性,那么其他方法使用这个对象的时候,这个age属性也是被修改的,所以这道题就选D
9.下列说法错误的有( )
A 在类方法中可用this来调用本类的类方法
B 在类方法中调用本类的类方法时可直接调用
C 在类方法中只能调用本类中的类方法
D 在类方法中绝对不能调用实例方法
这道题跟前面第6题很像,首先要清楚类方法就是静态方法;那么明确这点之后我们知道类方法(静态方法)是没有this引用的,因为
this关键字引用当前对象,而静态方法在没有对象实例的上下文中运行B则是正确的,可以直接在静态方法中调用本类的其他静态方法
C则是还可以调用其他类的类方法,只要有权限
D 并不是,你可以在该类方法中实例该实例方法,就可以调用了
10. 下列说法错误的有( )
A 能被java.exe成功运行的java class文件必须有main()方法
B J2SDK就是Java API
C Appletviewer.exe可利用jar选项运行.jar文件
D 能被Appletviewer成功运行的java class文件必须有main()方法
A 是正确的,必须有个
public static void main(String[] args)B 不正确,因为J2SDK(Java 2 Software Development Kit)包含Java API,但它们并不是同一回事。J2SDK为Java开发者提供了工具、执行环境和类库。其中,Java API指的是一组预定义的类库,这些类库提供了常用的功能和服务
C 的话则是
Appletviewer.exe是用于运行Java Applets的工具。它不能像java命令那样使用-jar选项来直接运行JAR文件D 不正确,因为Java Applets并不依赖于
main()方法。相反,它们有一系列的生命周期方法,如init(),start(),paint(), 等。因此,一个Applet不需要main()方法就可以被Appletviewer成功运行
感悟: 只能说自己加油吧ヾ(◍°∇°◍)ノ゙