Java常见面试题总结

Posted lyslyslyslyslys

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java常见面试题总结相关的知识,希望对你有一定的参考价值。

下面给大家出了一些比较基础的JAVA基础知识面试题,附带答案哦.有问题的朋友可以直接问哦!

 

1、什么是对象?什么是类?对象和类的关系是什么?

对象是存在的具体实体,具有明确定义的特征和行为。

类是具有相同属性和行为的一组对象的集合。

类是对象的抽象,对象是类的实例。

 

2、变量按作用域划分有哪几种?

变量按作用域划分,分为局部变量、成员变量、静态变量。

局部变量:方法和语句块内部定义的变量(栈空间,当方法或语句块一结束,局部变量空间马上释放)

成员变量(属性):方法外部、类的内部定义的变量(堆空间,随对象产生而产生,随对象销毁而销毁)

类变量(静态变量):方法外部、类的内部定义的变量,加上了关键字“static”(数据段,长驻内存,虚拟机关闭时消失。)

 

 

3、静态变量和成员变量有什么区别?

1、成员变量包含在对象之中,每个对象有独立的成员变量。当一个对象成员变量变化时,不会影响别的对象。静态变量是所有对象共享的变量,当静态变量变化时,会影响所有对象。

2、静态变量在类加载时产生,产生在对象之前。成员变量在产生对象时产生,随对象销毁而销毁。

3、静态变量存放在数据段中,成员变量存放在堆中。

4、静态变量可以通过对象和类名访问,成员变量只能通过对象访问。

 

 

4、什么是GC?

GC称为垃圾回收。是虚拟机中的线程。在虚拟机相对空闲时,回收堆空间中,没有被变量引用,同时没有被使用的对象。程序员不能干预垃圾回收,但可以通过System.gc()加快垃圾回收速度。

 

5、什么是包?包的作用是什么?如何导入别的包中的类?什么样的类不需要导入?

包就是文件夹,使用包可以组织相关的类,并可以做到信息隐藏。

导入别的包中的类使用import

本包中的类、java.lang包中的类无需导入可以直接使用。

 

6、静态方法能直接调用成员方法或属性吗?为什么?

不能。因为静态方法在对象产生之前加载。

 

 

7、当传递和返回对象,传递和返回的是什么?

对象的引用。

 

8、什么是构造方法?构造方法的作用是什么?

方法名和类名相同,没有返回类型。利用构造方法可以产生对象。

作用:

1、为对象分配空间

2、如果类没有加载,则加载类。

3、初始化成员变量

4、返回对象的引用

 

9、创建对象有几种方式?

1、通过new关键字,调用构造方法产生对象。

2、通过反射产生对象。

3、通过克隆产生对象。

4、通过反序列化产生对象。

 

10、this和super各代表什么含义?

this表示当前对象。而super表示父类对象。子类可以通过super(),调用父类构造方法产生父类对象。

技术图片

 

以上是关于Java常见面试题总结的主要内容,如果未能解决你的问题,请参考以下文章

面试题Java基础篇-常见面试题总结p1

面试题Java基础篇-常见面试题总结p2

200+ Java常见面试题总结《最少必要面试题》

Java集合面试题看这篇就够了

Java集合面试题看这篇就够了

面试题Redis篇-常见面试题p1