试题 难度
1 值传递与引用传递的区别? A
A:值传递是指针对值的复制,引用传递是指传递地址的指向而不是将本身值复制。
2 谈谈继承,为什么要使用继承? A
A:在现实生活中,同一种东西有可能有特殊的属性和行为,所以一个类往往不能全面概括表达,就可以通过一个扩展的类,并继承该类的属性和行为。
3 方法重载的好处? A
A:同一个对象的行为可能遇到不同的环境或者不同的工具(参数)有不同的结果和实现过程。方法的重载就是使接收不同的参数实现不同的结果。
4 谈谈你对面向对象的理解与认识? A
A:万物皆对象,面向对象编程就是编写能表达事物本身的特征,属性的程序和编写实现事物的行为动作的程序。
5 谈谈&&和&的区别 A
A:&&是短路与 + 逻辑与
&是与 + 按位与
6 System.out和System.in是什么意思? A
A:输出包 输入包
7 java为什么能够跨平台? A
A:因为Java针对每个不同的平台有不同的JVM,所以每个不同的平台就有不同的编译器。
8 java的环境变量如何配置?为什么要配置? A
A:配置JAVA_HOME 和 PATH 配置环境变量可以使每次JAVA运行不用去设置路径
9 什么是封装?封装的好处是什么? A
A:封装是指:组装和信息隐藏。 封装可以将同属于一类的属性或者行为编写成一个类。可以将某些不能用户修改或者需要保密的值或者属性作私有化处理。
10 java安全性体现在什么地方? A
A:严格遵循面向对象的规范。这样封装了数据的细节,只提供接口给用户,增加了数据级的安全性。
无指针运算。Java中操作,除了基本类型都是引用的操作。引用是不能进行增减运算,不能被直接赋予内在地真址的,从而增加了内在级的安全性。
数组边界检查。这样就不会出现C/C++中的缓存溢出等安全漏洞。
强制类型转换,非同类型的对象之间不能进行转换,否则会抛出ClassCastException
语言对纯种安全的支持。Java从语言级支持纯种,从而从语法和语言本身做了很多对线程的控制和支持。
此外,Java的安全还能过编译器、检验器、类装载器、建立安全策略等方式保证了Java程序的安全性
11 面向对象的特征有哪些? B
A:封装、继承、多态
12 Java程序的执行过程是怎样的? B
A:JAVA 源文件----(JAVA编译器javac.exe)--->JAVA 字节码----(类似加载器将*.class文件加载至)---->内存----
---(字节码校验器)---->确认正确后-----(解释器)---->本地代码------->操作系统平台
13 Java的引用数据类型有哪些? B
A:数组、类、接口
14 变量按作用域分类分为几种? B
A:局部变量和全局变量
15 重写与重载的区别?参数一样,返回类型不一样 是重载吗? B
A:重写:是方法名、形式参数列表、返回值类型一样,有继承关系和两个类。
访问修饰符必须不小于父类中的访问修饰符。
重载:是在同一个类中:形式参数的个数、类型、顺序有一种不一样就是重载。
16 写一个数组的创建。 B
A: int [] a = new int [50];
17 对对象进行比较怎么做?为什么不用“==”? B
A:==是将引用相比较。 应该用equals() 方法。
18 子类继承父类,父类的构造方法能被继承吗? B
A:父类的构造方法不能被继承。
19 什么是构造方法?构造方法的作用?(目的、意义) B
A:构造方法是类中的一个特殊的方法,该方法只有在对象实例化时被调用。
作用:在堆内存中划分空间;
在这个空间中划分每个属性;
为每个属性进行初始化;
执行在构造方法中的其它代码。
20 String是基本数据类型吗?基本数据类型有哪些? B
A:String不是基本数据类型。 基本数据类型有:byte、short、int、long、float、double、 char、 boolean
21 JVM是什么?它的作用是什么?它和java运行环境有什么区别? B
A:JVM 是指JAVA Virtual Machine (JAVA虚拟机) 作用是将JAVA有字节码文件翻译成本地的机器码。 JAVA的运行环境是指JRE它不包含开发工具--编译器、调试器和其它工具。它包括Java虚拟机、Java平台核心类和支持文件。是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
22 如何定义一个常量?定义常量的意义何在? B
A:final double PI = 3.14;
23 基本数据类型和引用数据类型的区别是什么? B
A:不论是基本数据类型还是引用类型,他们都会先在栈中分配一块内存,对于基本类型来说,这块区域包含的是基本类型的内容;而对于对象类型来说,这块区域包含的是指向真正内容的引用,真正的内容被手动的分配在堆上
24 引用数据类型作为参数传递时,传递的是什么? B
A:传递的是引用。
25 局部变量使用时候需要注意什么问题? B
A:局部变量使用时必须初始化。
26 一个子类能同时继承于多个父类吗? B
A:错
27 注释分为几种? B
A:单选注释//
多选注释 /* */
JavaDoc 注释 /** */
28 byte的取值范围 B
A:-128 -- 127
29 java中采用什么字符编码集?char类型能不能放入一个中文字? B
A:Unicode char 中能放入一个中文
30 main方法中有个参数String[] args。这个参数的值是由谁传递给它的。 B
A:是在运行JAVA类文件时 作为参数列表输入的。
31 java语言的特点是什么? B
A:简单、可移植性、多态性、安全性、面向对象
32 在Dos界面下如何编译并执行Java程序? B
A:javac A.java;
java A;
33 说几个String常用的方法 B
A:equals()、 length()、toString()
34 构造方法和方法有什么区别?构造方法能不能被重载,能不能被重写? B
A: 构造方法是类中的一个特殊的方法,该方法只有在对象实例化时被调用。
作用:在堆内存中划分空间;
在这个空间中划分每个属性;
为每个属性进行初始化;
执行在构造方法中的其它代码。
方法主是一个类的行为。
构造方法可以重载,但不能被重写。
35 什么时候类名和文件名必须一致? B
A:public class
36 java帮助文档是如何生成的? B
A:使用JAVAdoc注释
37 GC是什么? 为什么要有GC? B
A:GC是垃圾回收机制。GC将不用的内存和没有被引用指向的内存释放掉。
38 数组有没有length()这个方法? String有没有length()这个方法? B
A:没有 String有
39 什么是包?定义包有什么好处? B
A:包可以将许多的类分门别类的使用的存放。就像我们使用文件夹一样。
包提供了一个组织类的机制。
为包中的类提供了一个命名的空间
40 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递 B
A:值传递
41 Java的基本数据类型有哪些? C
A:第20题
42 如何去获得字符串的长度? C
A:a.String()
43 JDK与JRE分别是什么? C
A:JDK 是JRE + 开发工具
44 什么是变量? C
A:可以变化的量
45 什么是标识符?它的命名规则是什么? C
A:凡是有命名的地方 标识符不能是关键字和true、false、null
标识符可以是字母、数字、下划线、美元符
标识符的第一个字符必须是字母或者下划线或者美元符
标识符是区别大小写的,并且没有规定最大长度。
46 在JAVA中直接写浮点常数,默认是什么类型? C
A:double
47 if…else…和写两个if 有什么区别 C
A:if...else...当IF后面的条件满足时就只执行IF后面的一条语句,IF后面的条件不满足时才判断ELSE后面的。只执行一个语句
如果写两个IF的话,则两个IF后面后面的语句都要判断。
48 变量的命名规则是怎么样的? C
A:就是标识符的命名规则 第一个单词的首字母小写,第二个和后面的所有单词的首字母大写。
49 main方法是怎么写的 C
A:public static void main(String [] args){}
。