面试初级
文章平均质量分 71
with_luck
这个作者很懒,什么都没留下…
展开
-
try..catch..finally结构中, try或catch中return了, finally还会被执行吗?
1.如果 catch 中 return 了,finally 还会执行吗?会。finally的作用就是,一般情况下,finally里的代码一定会被执行。如果在catch中return了,也会在return之前,先执行finally代码块。而且如果finally代码块中含有return语句,会覆盖其他地方的return。对于基本数据类型的数据,在finally块中改变return的值对返回值没有影响,而对引用数据类型的数据会有影响。2.finally是否一定会被执行?finally的真正含义是转载 2021-08-31 00:27:55 · 3890 阅读 · 0 评论 -
Final可用在哪些位置? 分别表示什么作用?
文章目录前言一、final修饰类二、final修饰方法1.被final修饰的方法不可以被重写2.被final修饰的方法,JVM会尝试将其内联,以提高运行效率(早期java)三、final修饰变量1.被final修饰的变量不可以被改变。如果修饰引用,那么表示引用不可变,引用指向的内容可变。2.被final修饰的常量,在编译阶段会存入常量池中。总结前言速记被final修饰的类不可以被继承被final修饰的方法不可以被重写被final修饰的变量不可以被改变。如果修饰引用,那么表示引用不可变,引用指向原创 2021-08-25 15:14:13 · 1170 阅读 · 0 评论 -
throw和throws区别
文章目录throwsthrow理解throwsthrows ,就是在方法声明处使用的用来抛出异常的语句,它抛出的异常来源于系统自动生成的异常对象。一个方法必须声明所有可能抛出的检查型异常(java将派生于Error类或RuntimeException类的所有异常称为非检查型异常,所有其他的异常称为检查型异常)(摘自《Java核心技术卷I》)throwthrow ,手动抛出异常,它抛出的异常是你手动生成的。为什么要手动生成异常并抛出?因为,一旦方法抛出了异常,这个方法就不会返回到调用者。也就是说,原创 2021-08-25 14:19:14 · 109 阅读 · 0 评论 -
Java中最顶层的父类是? 里面有什么方法?
文章目录前言0、Object()1、registerNatives()2、getClass()3、hashCode()4.equals5.clone()总结前言Java中最顶层的父类是Object,这是一道送分题。而里面有什么方法,一般程序员都答不全(因为正常情况不需要记这么多)。让我们先看一下源码概览private static native void registerNatives();//返回此对象的运行时类.public final native Class<?> get原创 2021-08-23 14:42:05 · 1180 阅读 · 0 评论 -
==与equals的区别
文章目录前言一、理论补充二、实例理解总结前言“==”是关系运算符,equals()是方法,同时他们的结果都返回布尔值;“==”使用情况如下:基本类型,比较的是值引用类型,比较的是地址不能比较没有父子关系的两个对象equals()方法使用如下:系统类一般已经覆盖了equals(),比较的是内容。用户自定义类如果没有覆盖equals(),将调用父类的equals (比如是Object),而Object的equals的比较是地址(return (this == obj);)用户自定义类需要原创 2021-08-16 14:46:52 · 244 阅读 · 0 评论 -
重载与重写的区别
文章目录零、前言一、重载二、重写三、杂食如果不能继承一个方法,则不能重写这个方法。声明为 final 的方法不能被重写。声明为 static 的方法不能被重写,但是能够被再次声明。四、总结零、前言省时间可以只看上面回忆。区别点重载重写参数列表必须修改不修改返回类型没有要求与父类返回类型兼容异常没有要求可以减少或删除,不能抛出新的或者更广的异常访问权限没有要求不能低于父类一、重载在一个类中,同名的方法如果有不同的参数列表(不同的判定标准包原创 2021-08-16 10:34:59 · 155 阅读 · 0 评论 -
抽象类是什么?它与接口有什么区别?你为什么要使用抽象类?
文章目录一、抽象类是什么?二、抽象类与接口有什么区别?二、使用步骤1.引入库2.读入数据总结一、抽象类是什么?菜鸟教程中指出:在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。简单来说就是:不能实例化的类称为抽象类。延伸推论:有抽象方法的类是抽象类被abstract修饰的类是抽象类二、抽象类与接口有什么区别?二、使用步骤1.引入库代码如下(示例):impor原创 2021-08-06 17:15:41 · 517 阅读 · 0 评论 -
ArrayList与 LinkedList 的区别
文章目录前言一、增删二、改查三、空间占用四、拓展1.扩容机制2.线程安全总结前言ArrayList与 LinkedList 的最大区别就是底层数据结构ArrayList:是顺序存储的线性表(普通数组)LinkedList :是链式存储的线性表(双向链表)其余各项区别都是由此而生的。一、增删ArrayList:使用add(E element)方法,默认尾插,这种情况下时间复杂度为O(1)。public boolean add(E e) { ensureCapacityInte原创 2021-07-27 16:27:36 · 284 阅读 · 0 评论 -
String,StringBuilder和StringBuffer的区别
文章目录前言一、可不可变二、线程安全小加餐总结前言直接摆结论主要有两个方面的区别:1.String是字符串常量,StringBuilder和StringBuffer是字符串变量2.StringBuilder是线程不安全的;StringBuffer是线程安全的。由此可以引申出效率,执行速度等方面的问题。一、可不可变String:常常看见字符串拼接的+,但它并不是在原对象上进行修改,而是产生了一个新的对象,然后旧对象就被取消引用了。然后当内存中无引用对象多了以后, JVM 的 GC 就会开始原创 2021-07-23 14:43:31 · 269 阅读 · 0 评论