【Java基础知识】 1. `final`:在Java中,`final`关键字用于声明不可变的变量、方法或类。一旦被声明为`final`,变量的值就不能改变,方法不能被重写,类不能被继承。 2. `finally`:`finally`块在异常处理中用于确保一段代码无论是否发生异常都会被执行。它通常包含清理资源(如关闭文件流)的操作。 3. `finalize`:是Object类的一个方法,用于在垃圾收集器删除对象之前执行特定的清理任务。但并不保证一定会调用。 【匿名内部类】 匿名内部类可以直接继承一个类或实现一个接口,但它们没有名字,通常用于简短且一次性使用的场合。 【Static Nested Class与Inner Class】 静态嵌套类(Static Nested Class)类似于普通的类,可以有自己的静态成员,而内部类(Inner Class)需要依赖外部类的实例,不能有静态成员。 【HashMap与Hashtable】 HashMap是非同步的,允许null键和null值,而Hashtable是线程安全的,不接受null键和null值。 【Collection与Collections】 Collection是所有集合框架的顶级接口,表示一组不唯一对象的集合;Collections是工具类,提供了一系列静态方法来操作集合。 【length()方法】 数组有`length`属性,而不是`length()`方法;String有`length()`方法来获取字符串的长度。 【Set中的去重】 Set通过equals()方法来判断元素是否重复,不使用`==`,因为`==`比较的是对象引用,而equals()比较的是对象内容。 【接口与抽象类】 接口可以继承接口,抽象类可以实现接口,抽象类也可以继承具体类。接口中只有抽象方法,而抽象类可以包含抽象方法和具体方法。 【abstract class与interface的区别】 抽象类可以包含字段和方法实现,而接口只能包含常量和抽象方法。一个类可以实现多个接口,但只能继承一个抽象类。 【运行时异常与一般异常】 运行时异常是程序运行时可能发生的异常,不需要显式捕获;一般异常在编译时就需要处理,否则编译会失败。 【Error与Exception】 Error表示系统级的错误,通常无法恢复,如内存溢出;Exception是程序运行过程中的异常情况,可以捕获并处理。 【String对象创建】 `String s = new String("xyz");`创建了2个String对象,一个在常量池,一个在堆内存。 【hash code与equals】 两个对象值相同,即equals()返回true,但它们的hash code不一定相同。哈希码主要用于提高查找效率。 【char存储中文】 char可以存储中文字符,每个中文字符占用两个字节。 【String是否基本类型】 String不是Java的基本数据类型,它是对象,属于引用类型,位于java.lang包下。 【Math.round()】 Math.round(11.5)等于12,Math.round(-11.5)等于-11。 【异常处理】 Java异常处理使用`try-catch-finally`结构,`try`块中可能出现异常,`catch`块捕获异常,`finally`块确保执行,`throws`用于方法签名,表明可能会抛出异常,`throw`用于抛出异常。 【流的种类】 Java有字节流和字符流两大类,包括输入流和输出流,对应的抽象类有InputStream/OutputStream和Reader/Writer。 【多态】 Java通过方法的重写和重载实现多态,同一个接口或抽象方法在不同子类中有不同的实现。 【静态变量与实例变量】 静态变量属于类,由所有实例共享;实例变量属于每个对象实例,每个实例都有自己的一份拷贝。 【静态方法与非静态方法】 静态方法不能直接访问非静态成员,因为静态方法与类关联,而非静态成员与实例关联。 【类、抽象类与接口的关系】 类可以继承抽象类,实现接口;抽象类可以继承类并实现接口;接口之间可以互相继承。 【代码查错题】 1. 无错误,抽象类可以有抽象方法。 2. 无错误,但在方法体中声明局部变量是允许的。 3. 错误,抽象方法不能声明为私有的。 4. 无错误,`final`关键字在这里用于防止在方法内部修改传入的参数。 5. 错误,`addOne()`方法接受`Other`类型的参数,但试图修改其内部状态,这违反了`final`的约束。 6. 无错误,`i`是实例变量,可以在方法中访问。 7. 无错误,`i`是`final`的,所以它的值在初始化后不能改变。 8. 未完的代码,但看起来是尝试调用`doSomething()`,应该是`s.doSomething()`,但需要完整代码才能确定是否有其他问题。
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JavaScript函数
- java-leetcode题解之Range Sum Query 2D - Mutable.java
- java-leetcode题解之Random Pick Index.java
- java-leetcode题解之Race Car.java
- java-leetcode题解之Profitable Schemes.java
- java-leetcode题解之Product of Array Exclude Itself.java
- java-leetcode题解之Prime Arrangements.java
- MCU51-51单片机
- java-leetcode题解之Power of Two.java
- java-leetcode题解之Power of Three.java