Java 语法核心知识点总结(错题复盘完整版)
·
Java 语法核心知识点总结(错题复盘完整版)
一、类声明与修饰符规则
1. final 与 abstract 不能共存
- 错误示例:
final abstract class A {} - 原因:
final表示类不能被继承,abstract表示类必须被继承才能实例化。二者语义完全矛盾,在 Java 中任何位置(顶层类或内部类)都禁止同时使用。
2. 顶层类的访问修饰符限制
- 规则:顶层类(直接定义在包中的类)只能用
public或默认修饰。 - 为什么不能用
protected?protected包含“外包可见(子类可见)”的含义,但顶层类如果不加public,外包类在编译时根本找不到它,无法建立继承关系,实际效果退化为“包可见”,与默认修饰符完全一样。Java 干脆规定这么写是语法错误。
- 特殊情况:
protected修饰内部类是合法的,因为此时它作为外部类的“成员”存在。
二、成员变量 vs 局部变量(初始化规则)
| 变量类型 | 声明位置 | 是否有默认值 | 是否必须显式赋值 |
|---|---|---|---|
| 成员变量(实例/静态) | 类体内,方法外 | 有(如 int→0,double→0.0,引用→null) |
否(编译器自动赋默认值) |
| 局部变量 | 方法体/代码块内 | 无 | 是(使用前必须赋值) |
- 经典陷阱:
double m;(声明合法) +double t = n + m;(编译错误,因为m未初始化)。 - 记忆口诀:成员变量靠老天,局部变量靠自己。
三、类体中的代码规范(声明 vs 语句)
- 规则:类体(最外层大括号内)只能包含声明(变量、方法、内部类、构造器等),不能直接编写执行语句(如赋值
x = 10;)。 - 正确做法:将执行语句放在方法、构造器或初始化块中。
- 实例初始化块:
{ y = 200; } - 静态初始化块:
static { y = 200; }
- 实例初始化块:
四、静态成员与实例成员的互访规则
- 规律 1:非静态方法(实例方法)可以访问静态成员(变量/方法)。
(因为调用实例方法时对象已存在,类必定早已加载,静态成员必定在内存中。) - 规律 2:静态方法不能直接访问非静态成员(变量/方法)。
(因为静态方法可以不依赖对象调用,没有this指针,编译器不知道要访问哪个对象的变量。) - 例外:如果静态方法中自己 new 对象,则可以通过该对象引用访问非静态成员(如
new A().x = 10;)。
五、方法重写(Override)的严格细则
1. 访问修饰符(权限只能放大,不能缩小)
- 子类重写方法的访问权限必须 ≥ 父类方法权限。
- 权限大小排序:
public>protected>默认(包可见)>private。
2. 返回类型(基本类型必须严格一致)
- 基本数据类型(
int、long、byte等):子类返回类型必须与父类完全相同。
(long不能替代int,byte也不能替代int,即使它们能隐式转换。) - 引用数据类型:支持协变返回类型,即子类返回类型可以是父类返回类型的子类(如父类返回
Object,子类可返回String)。
六、接口实现(implements)的强制规定
- 接口中的方法:默认且强制是
public abstract(即使代码中不写,编译器也会自动补上)。 - 实现类的要求:实现(重写)接口方法时,访问修饰符必须是
public。- 写
protected或默认(包可见)都会导致编译错误(因为比public小)。
- 写
- 返回类型规则:同重写规则(基本类型必须一致,引用类型支持协变)。
七、Swing 组件与事件处理基础(GUI 常识)
1. 常用容器的默认布局
| 容器类 | 默认布局管理器 |
|---|---|
JFrame(窗口) |
BorderLayout(边界布局,分 NORTH、SOUTH、EAST、WEST、CENTER 五区) |
JPanel(面板) |
FlowLayout(流式布局,从左到右依次排列) |
2. 常用组件对应的事件类型(必背)
| 组件类 | 可触发的主要事件 |
|---|---|
JButton(按钮) |
ActionEvent(点击时触发) |
JTextField(文本框) |
ActionEvent(按回车键时触发)—— 注意:不触发 ItemEvent |
JCheckBox(复选框) |
ItemEvent(选中/取消选中时触发) |
JRadioButton(单选按钮) |
ItemEvent(选中/取消选中时触发) |
JComboBox(下拉列表) |
ItemEvent(选择项变化时触发) |
3. 快速记忆口诀
- 容器默认布局:
Frame摆边框(Border),Panel流成河(Flow)。 - 组件对应事件:按钮文本框按回车(Action),列表复选框点勾选(Item)。
附:速记口诀全汇总(直接背)
- 类修饰符:
final和abstract见面就掐架(不能同时用)。 - 顶层类权限:只有
public和“隐身”(默认),protected/private靠边站(内部类除外)。 - 变量初始化:成员变量有低保(默认值),局部变量靠双手(手动赋)。
- 类体内容:只写声明不写句(不能直接写
y=200;),要写就放方法/块里。 - 静态与非静态:实例随便看静态,静态不能直接碰实例(除非自己
new一个)。 - 重写与实现:权限只能大不能小;基本类型返回必须一模一样;接口方法全是
public,实现必须跟着public走。 - Swing 布局与事件:Frame 用边框,Panel 用流式;按钮文本框监听到回车(Action),复选框下拉列表监听选(Item)。
更多推荐

所有评论(0)