本文目录一览:
- 1、java基础面试题有哪些?
- 2、java简单试题
- 3、JAVA试题,有会做的吗?
- 4、java试卷
- 5、求 JAVA 试题 判断题答案
java基础面试题有哪些?
下面是10道java基础面试题,后附答案
1.什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?
Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件。
Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java 虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。
2.“static”关键字是什么意思?Java 中是否可以覆盖(override)一个 private 或者是static 的方法?
“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。
Java 中 static 方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而 static 方法是编译时静态绑定的。static 方法跟类的任何实例都不相关,所以概念上不适用。
3.JDK 和 JRE 的区别是什么?
Java 运行时环境(JRE)是将要执行 Java 程序的 Java 虚拟机。它同时也包含了执行 applet 需要的浏览器插件。Java 开发工具包 (JDK)是完整的 Java 软件开发包,包含了 JRE,编译器和其他的工具(比如:JavaDoc,Java 调试器),可以让开发者开发、编译、执行 Java 应用程序。
4.是否可以在 static 环境中访问非 static 变量?
static 变量在 Java 中是属于类的,它在所有的实例中的值是一样的。当类被 Java 虚拟机载入的时候,会对 static 变量进行初始化。如果你的代码尝试不用实例来访问非 static 的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。
5.Java 支持的数据类型有哪些?什么是自动拆装箱?
Java 语言支持的 8 中基本数据类型是:
byte
short
int
long
float
double
boolean
char
自动装箱是 Java 编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把 int 转化成 Integer,double 转化成 double,等等。反之就是自动拆箱。
6.Java 支持多继承么?
不支持,Java 不支持多继承。每个类都只能继承一个类,但是可以实现多个接口。
7.Java 中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?
当新对象被创建的时候,构造函数会被调用。每一个类都有构造函数。在程序员没有给类提供构造函数的情况下,Java 编译器会为这个类创建一个默认的构造函数。
Java 中构造函数重载和方法重载很相似。可以为一个类创建多个构造函数。每一个构造函数必须有它自己唯一的参数列表。
Java 不支持像 C++中那样的复制构造函数,这个不同点是因为如果你不自己写构造函数的情况下,Java 不会创建默认的复制构造函数。
8.Java 中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?
Java 中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。覆盖者可能不会限制它所覆盖的方法的访问。
9.接口和抽象类的区别是什么?
Java 提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于:
接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。
类可以实现很多个接口,但是只能继承一个抽象类
类如果要实现一个接口,它必须要实现接口声明的所有方法。但是,类可以不实现抽象类声明的所有方法,当然,在这种情况下,类也必须得声明成是抽象的。
抽象类可以在不提供接口方法实现的情况下实现接口。
Java 接口中声明的变量默认都是 final 的。抽象类可以包含非 final 的变量。
Java 接口中的成员函数默认是 public 的。抽象类的成员函数可以是 private, protected 或者是 public。
接口是绝对抽象的,不可以被实例化。抽象类也不可以被实例化,但是,如果它包含 main 方法的话是可以被调用的。
10.什么是值传递和引用传递?
对象被值传递,意味着传递了对象的一个副本。因此,就算是改变了对象副本,也不会影响源对象的值。
对象被引用传递,意味着传递的并不是实际的对象,而是对象的引用。因此,外部对引用对象所做的改变会反映到所有的对象上。
最后祝你面试顺利!
java简单试题
4、对象的使用包括引用对象的成员变量和方法。通过_对象_点___属性_运算符就能实现对对象成员变量的访问和对象方法的调用。
5、在Java中有一种叫作_构造方法____________特殊方法,我们在程序中用它来对类的对象成员进行初始化。
6、用static修饰的方法,称为静态方法。它们不是对象的方法,而是整个类的方法。静态方法只能处理用关键字___static_____修饰的数据。
7、表达式1/2*3的计算结果是______0__。
8、在Java程序中,通过类的定义只能实现___单_____重继承,但通过接口的定义可以实现____多____重继承关系。
9、在Java语言中,逻辑常量只有true 和 _____false______ 两个值。
10、Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和 _double________两种具体类型。
11、else子句不能单独作为语句使用,它必须和if子句配对使用,那么else 子句的配对原则是:else子句总是与离它___最近_____的if子句配对使用。
12、向对象的语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类, 类是变量和___方法_____的集合体。
13、RandomAccessFile所实现的接口是 DataInput、 Closeable____接口和DataOutput 接口。
14、创建包的语句应该放在程序的位置为___文件的第一句________。
15、字符类输出流的各个类都是抽象类___java.io.Reader______的子类。
JAVA试题,有会做的吗?
一、基本知识(单选每题2分)
1、下列属于Java语言的特点的一项是(D)
A、 运算符重载 B、单重继承 C、指针操作 D、垃圾回收
2、Java语言最初是面向哪个应用领域设计的(A)
A、 Internet B、制造业 C、消费电子产品 D、CAD
3、Java语言属于下列哪一种语言(B)
A、 面向机器的语言 B、面向对象的语言 C、面向过程的语言 D、面向操作系统的语言
4、面向对象的基本特征不包括(B)
A、封装 B、功能分解 C、继承 D、多态
5、以下对类的描述不正确的是(D)
A、具有相同或相似性质的对象的抽象就是类
B、类是对象的抽象
C、类的实例是对象
D、对象和类无关
6、Java是由哪个公司推出的(A)
A、sun B、微软 C、ORACLE D、google
7、以下不属于Java体系的是(D)
A、j2se B、j2me C、j2ee D、j2sd
8、J2EE哪一年更改为JavaEE(B)
A、2008 B、2005 C、2006 D、2010
9、以下不属于Java开发步骤的是(D)
A、编写Java源文件
B、运行Java程序
C、编译Java源文件
D、生成exe文件
10、Android是由哪个公司推出的(D)
A、sun B、微软 C、ORACLE D、google
11、Android的第一个正式版本是哪年推出的( A )
A、2008 B、2005 C、2006 D、2010
12、Android被称为“冻酸奶”的是哪个版本(A)
A、2.2 B、2.3 C、1.6 D、3.0
13、以下不属于Android优势的是(D)
A、平台开放性
B、丰富的硬件支持
C、方便开发
D、受Linux开发束缚
14、以下不属于Android开发环境必备的是(C)
A、JDK B、ADT C、vs D、SDK
15、以下说法错误的是(D)
A、Android是免费开放平台
B、Android不可以用Myeclipse开发
C、eclipse是Android较好的开发工具
D、Android虚拟机可以上网
16、以下不属于移动开发技术的是(A)
A、IOS B、j2me C、Android D、JavaEE
17、Java8.0版本由哪个公司发布(B)
A、sun B、甲骨文 C、微软 D、google
18、Java8.0版本是哪年发布的(D)
A、2011 B、2012 C、2013 D、2014
19、以下不符合面向对象编程思想的是(C)
A、从现实世界中客观存在的事物(即对象)出发来构造软件系统
B、构造中尽可能运用人类的自然思维方式
C、认为事物之间没有必然联系
D、保持问题域中事物及其相互关系的本来面貌
20、以下不属于面向对象概念的是(D)
A、类 B、对象 C、对象的状态和行为 D、结构体
望采纳
java试卷
第一,谈谈final,
finally,
finalize的区别。
final
修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为
abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载
finally
再异常处理时提供
finally
块来执行任何清除操作。如果抛出一个异常,那么相匹配的
catch
子句就会执行,然后控制就会进入
finally
块(如果有的话)。
finalize?方法名。java
技术允许使用
finalize()
方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在
object
类中定义的,因此所有的类都继承了它。子类覆盖
finalize()
方法以整理系统资源或者执行其他清理工作。finalize()
方法是在垃圾收集器删除对象之前对这个对象调用的。
第二,anonymous
inner
class
(匿名内部类)
是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
匿名的内部类是没有名字的内部类。不能extends(继承)
其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
第三,static
nested
class
和
inner
class的不同,说得越多越好(面试题有的很笼统)。
nested
class
(一般是c++的说法),inner
class
(一般是java的说法)。java内部类与c++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见http:
//
;page=1
注:
静态内部类(inner
class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象
第四,和的区别。
是位运算符。是布尔逻辑运算符。
第五,hashmap和hashtable的区别。
都属于map接口的类,实现了将惟一键映射到特定的值上。
hashmap
类没有分类或者排序。它允许一个
null
键和多个
null
值。
hashtable
类似于
hashmap,但是不允许
null
键和
null
值。它也比
hashmap
慢,因为它是同步的。
第六,collection
和
collections的区别。
collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
collection是个java.util下的接口,它是各种集合结构的父接口。
第七,什么时候用assert。
断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为
true。如果表达式计算为
false,那么系统会报告一个
assertionerror。它用于调试目的:
assert(a
0);
//
throws
an
assertionerror
if
a
=
断言可以有两种形式:
assert
expression1
;
assert
expression1
:
expression2
;
expression1
应该总是产生一个布尔值。
expression2
可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的
string
消息。
断言在默认情况下是禁用的。要在编译时启用断言,需要使用
source
1.4
标记:
javac
-source
1.4
test.java
要在运行时启用断言,可使用
-enableassertions
或者
-ea
标记。
要在运行时选择禁用断言,可使用
-da
或者
-disableassertions
标记。
要系统类中启用断言,可使用
-esa
或者
-dsa
标记。还可以在包的基础上启用或者禁用断言。
可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。
第八,gc是什么?
为什么要有gc?
(基础)。
gc是垃圾收集器。java
程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:
system.gc()
runtime.getruntime().gc()
第九,string
s
=
new
string(“xyz”);创建了几个string
object?
两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。
第十,math.round(11.5)等於多少?
math.round(-11.5)等於多少?
math.round(11.5)返回(long)12,math.round(-11.5)返回(long)-11;
第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
都不能
求 JAVA 试题 判断题答案
1.对
2.错
3.前半句对,后半句错
4.对
5.错
6.错
7.对
8.错
9.错
10.错
11.错
12. 错
13.对
14.错
15.错
16.错
17.对
18.对
19.错
20.错
21.错
22.对
23.错
24.错
25.对
26.错
27.错
28.错
29.对
30.错
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/282762.html