java基础面试题

1. 什么是JVM? 为什么Java是"平台无关的编程语言"?
Java虚拟机(JVM)是一个过程的虚拟机 ,可以执行Java 字节码 。 每个Java源文件编译成字节码文件,它是由JVM执行。
Java不必由程序员为每个单独的平台进行重写或重新编译。 Java虚拟机,使这一切成为可能,因为它知道特定的指令长度和底层硬件平台的其他特殊情况。

2. 什么是JDK和JRE的区别?
Java运行时环境(JRE)是基本的Java虚拟机(JVM),包括Java执行程序。 它还包括浏览器插件小程序执行。 Java开发工具包(JDK)是Java全功能软件开发工具包,包括JRE,编译器和工具(如JavaDoc ,和Java Debugger )。

3. "静态"的关键字是什么意思? 你可以在Java重写私有或静态方法?
static关键字表示该成员变量或方法可以被访问,而无需到它所属的类的实例化。
用户不能覆盖静态方法 ,因为方法重载是基于在运行时动态绑定,而静态方法是在编译时绑定。 静态方法不与任何类的实例相关联,这个概念并不适用。

4. 您可以在静态上下文中访问非静态变量?
在Java中静态变量是属于它的类,它的所有实例值保持不变。当类被JVM加载时,静态变量被初始化。 如果你的代码试图不在任何实例中访问非静态变量,编译器会报错,因为这些变量尚未创建,他们不与任何实例相关联。

5. 什么是Java支持的数据类型? 什么是自动装箱Autoboxing和拆箱Unboxing?
通过Java编程语言支持的八个基本数据类型有:
byte
short
int
long
float
double
boolean
char
Autoboxing是Java编译器提出在基本类型和它们对应的对象包装类之间实现自动转换,。 例如,编译一个int转换为Integer ,double到Double 等。 如果反过来转换操作称为unboxing 。

6. 什么是函数重载?
当同一个类中两个或多个具有完全相同的名称但参数不同的Java方法时,会发生重载。 在另一方面,方法覆盖定义:一个子类重新定义的作为父类相同方法。 覆盖方法必须具有相同的名称,参数列表和返回类型。

7. 什么是构造函数,构造函数重载和拷贝构造函数?
创建一个新的对象时,构造函数被调用。 每个类都有一个构造函数 。 若程序员不提供构造函数的类,Java编译器(javac)创建一个默认的构造函数。
构造函数重载是类似于Java方法重载。 不同的构造函数可以为一个类来创建。 每个构造函数都必须有自己独特的参数列表。
Java不支持如C + +的拷贝构造函数,如果你不写你自己的构造函数,Java不会创建一个默认的拷贝构造函数。

8. Java是否支持多重继承?
不,Java不支持多重继承。 每个类是能够只在一个类扩展,但能够实现多个接口。

9. 接口和抽象类之间的区别是什么?
Java提供和支持创建抽象类和接口。 这两种实现共享一些共同的特征,但它们在以下功能有所不同:
在一个接口中的所有方法都是抽象。 在另一方面,抽象类可以包含抽象和非抽象方法。
一个类可以实现多个接口,但只能扩展一个抽象类。
为了使一个类实现一个接口,它必须实现其所有声明的方法。 但是,一个类可以不实现抽象类的所有声明的方法。 不过,在这种情况下,子类也必须声明为抽象类。
抽象类可以实现接口,甚至可以不提供接口方法的实现。
在Java接口中声明的变量默认情况下是final。 一个抽象类可以包含非final的变量。
Java接口的成员默认为公用。 一个抽象类的成员可以是私有的,保护或公开。
一个接口是绝对抽象的,不能被实例化。 一个抽象类,也不能被实例化,但如果它包含一个main方法可以被调用。

10. 什么是按引用传递和按值传递?
当一个对象是按值传递,这意味着该对象的副本传递。 因此,即使更改了该对象,它不会影响原来的值。

当对象是通过引用传递,这意味着实际的对象不会被传递,而是对象的引用被传递。 因此,由外部方法所做的任何更改,将会影响所有地方。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值