• Java面试题基础第六天


    一、Java面试题基础第六天

    1.Java创建对象有几种方式?

    Java创建对象有以下几种方式:

    用new语句创建对象。

    使用反射,使用Class.newInstance()创建对象。

    调用对象的clone()方法(浅克隆)。

    运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法(深克隆)。

    2.说说类实例化的顺序

    Java中类实例化顺序:

    1. 静态属性,静态代码块。(这是在类对象加载的时候就在就加载)
    2. 普通属性,普通代码块。
    3. 构造方法。

    3.equals和==有什么区别?

    • 对于基本数据类型,==比较的是他们的值。基本类型是没equal方法。

    • 对于对象类型,如果不重写equal , equal,== 他们都是比较的对象存储的地址,

      重写的话可以按逻辑去比较(就比如String类equal比较的是字符串里面的值)

    4.常见的关键字有哪些?

    static

    static可以用来修饰类的成员方法、类的成员变量。

    static变量就是静态变量,静态变量和非静态变量,是随着类对象的创建而创建的,静态变量是属于类的,非静态变量是在对象创建的时候创建的,是属于每一个实例的,在内存中有很多拷贝。静态变量有且只有一份。

    final

    1.基本类型被final修饰,则是常量,不能修改,在编译的时候,就已经加载好了,对象用final修饰,对象不能被修改,对象的属性可以被修改。

    2.final修饰的方法 ,子类不可以进行重写

    3.final修饰的类不能被继承

    this

    this实在类的内部使用,this代表本类,this用来区分局部变量和成员变量,this.属性名,表示这个属性名是类的属性

    super

    super 关键字用于在子类中访问父类的变量和方法。

    5.final, finally, finalize 的区别

    final,用于修饰属性、方法和类,属性赋值就不能重新赋值,方法不可被覆盖,类不可被继承

    finally 是异常处理语言,一般以try-catch-finally出现,finnally 总是会被执行

    finalize 是Object 类的一个方法,一般情况下finalize 方法,在回收对象时,finallize 方法会被执行,但是jvm 不保证一定执行这个方法,在方法中对象引用其他对象内存,可以能时对象复活

    6.Java中的finally一定会被执行吗?

    答案是不一定。

    有以下两种情况finally不会被执行:

    • 程序未执行到try代码块
    • 如果当一个线程在执行 try 语句块或者 catch 语句块时被打断(interrupted)或者被终止(killed),与其相对应的 finally 语句块可能不会执行。还有更极端的情况,就是在线程运行 try 语句块或者 catch 语句块时,突然死机或者断电,finally 语句块肯定不会执行了

    7. final关键字的作用?

    1.基本类型被final修饰,则是常量,不能修改,在编译的时候,就已经加载好了,对象用final修饰,对象不能被修改,对象的属性可以被修改。

    2.final修饰的方法 ,子类不可以进行重写

    3.final修饰的类不能被继承

  • 相关阅读:
    排序
    [附源码]Python计算机毕业设计儿童闲置物品交易网站
    优质笔记软件综合评测和详细盘点 Notion、Obsidian、RemNote、FlowUs
    《淘宝电商业务场景》API接口教程获得淘口令真实url
    mqant启动流程
    C语言基础6:指针基础:指针类型、野指针、指针运算(+、-、关系)、指针和数组、二级指针、指针数组
    解决GPU显存句柄泄漏问题
    序列超图的下一项推荐 笔记
    如何解决新版的anaconda notebook 打不开浏览器
    这个微信隐藏代码,你们现在知道还不晚
  • 原文地址:https://blog.csdn.net/Afu1021/article/details/132867253