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常见面试题总结)