本文最后更新于85 天前,其中的信息可能已经过时,如有错误请发送邮件到3082654005@qq.com
string方法因为底层代码的设计导致不可变
main方法可以被重载,但是只有标准签名main(String[])会被JVM执行
重载是由编译器来决定方法版本,与方法的返回值无关,一个类中可以多个同名的方法,方法参数类型不同
重写是由运行时的JVM来决定方法版本
java里只有值传递
==比较的是基本数据类型,equal比较对象是否相等
Linux新用户的默认家目录是
/home/用户名/
MySQL里使用utf8mb4,避免将来遇到 4 字节字符时出现问题
字符串对象的内容是否相等就用equals方法
引用数据类型有3种,类,接口,数组
接口的方法都是抽象方法,一个类可以实现多个接口
抽象类的方法可以是抽象方法,普通方法,静态方法,构造方法,一个类只能继承一个抽象
HashSet 是基于 HashMap 实现的
?super B表示B或者B的任意父类型,可以安全接受B及其子类对象,存值用super,下限符
取值用extends
集合都可以迭代,不能迭代就不是集合
ArrayList的默认长度是10
在java中,泛型是在编译时期进行类型检查和类型擦除的,如果你需求里的集合要存放不同类型的数据,这个时候就不合适使用泛型
final 的核心作用
| 修饰对象 | 核心作用 | 关键注意点 |
|---|---|---|
| 类 | 不可被继承 | 类中所有方法默认 final,变量不受影响 |
| 方法 | 不可被重写(可重载) | 仅限制子类重写,不限制调用或重载 |
| 变量(非静态) | 赋值后不可再改(引用地址不可变) | 成员变量需在对象创建前赋值,局部变量需在使用前赋值 |
| 静态变量(static final) | 类层级常量,类加载时赋值后不可改 | 必须在类加载时赋值,通常为全局常量 |


