type
Post
status
Published
date
Apr 22, 2026
slug
java
summary
Java学习笔记
tags
Java
编程
category
学习笔记
icon
password
By BarryZed
杂项
导入类与导入包
导入类:
import java.util.Scanner; 导入包:
import java.util.*; 成员方法
修饰符 | 类内 | 同包 | 子类 | 其他包 |
private | ✔ | ❌ | ❌ | ❌ |
default | ✔ | ✔ | ❌ | ❌ |
protected | ✔ | ✔ | ✔ | ❌ |
public | ✔ | ✔ | ✔ | ✔ |
static
无
static 的属于对象有
static 的属于类重写、重载与隐藏
重写(Override)
- 方法名相同
- 参数列表相同
- 返回类型相同(或兼容)
- 权限不能变小
protected → public✔protected → private❌
- 不能重写
final方法
- 调用时看实际对象类型(运行时决定)
- 不能重写
static方法(是隐藏)
隐藏(Hiding)
处理
static 方法同名冲突,子类与父类有相同名字的static 方法时触发static 没有多态只看“引用类型”(编译时决定)
重载(Overload)
同一个类中,方法名相同,但参数列表不同
编译时决定具体调用那个
实现接口:
class Dog implements Animal多态(Polymorphism)
同一个调用形式,在不同的情况下行为不同
父类引用指向子类对象,调用方法时表现出不同子类行为
类的继承
此时B 是子类(subclass),A 是父类(superclass)
相当于B是完全升级的A,A有的、能做的,B都可以用(也可以override),而且B有其他更新的属性和方法
父类中
private 的子类能继承,但是看不见也用不了构造器不参与继承体系(构造器不是方法)
- 单继承
Java一个类只能继承一个父类
只能有一个爹,但是可以有多个儿子,也就可以有孙子/多个孙子……
- 方法重写(Override)
子类可以改父类的方法
- 子类也是一种父类
(B也是一种A)
Java语言所有类的父类(大爹):Object
this, super, final
this
this.name :指发起该函数的对象的成员变量name this() 在一个构造方法里,去调用“同一个类里的另一个构造方法”(a.k.a. 构造方法复用)
必须在第一行且只能有一次
不能循环
super
它专门用来访问直接父类(superclass)里的内容
不存在
xxx.super.super.fun() super.属性名 :访问父类属性super.fun() :调用父类方法super() 调用父类构造方法
必须是第一行
只能在构造方法里用
final
不可修改、最终状态
final变量 = 常量,不可修改final 引用类型:修饰引用本身(那座桥) → 固定对象是谁,无法更换;但对象里面的东西仍然可以正常修改等final 方法:不能被重写,但是能被重载操作 | 是否允许 | 本质 |
重写 | ❌ | 改“原方法内容” |
重载 | ✔ | 新增“同名不同参数方法” |
final 类:不能被继承(不能当爹)抽象类(Abstract Class)
抽象类 = 不能直接造对象的类 + 可以有完整方法 + 也可以有未完成方法
- 不能实例化
可以有 抽象方法:
abstract void sound(); 可以有 普通方法
在子类继承抽象类后:
必须实现所有抽象方法 或 成为抽象类
继承抽象类:
class Dog extends Animal “这些类有共同本质,但具体行为不同”
接口(Interface)
- 方法默认是
public abstract(抽象方法)
void sound(); 自动等价于public abstract void sound(); 之后子类实现时必须
public void :接口本质是“公共契约”,实现必须保持同样可见性jdk8+可以有普通方法,但是必须手动写成
default 或static 方法- 变量默认是
public static final(常量)
int x = 10; 自动等价于public static final int x = 10; 即,接口里不能有非 final 变量
- 接口可以继承,也支持多继承
- 一个类可以实现多个接口
- 接口不能被实例化,但是可以创建“接口类型的数组”
集合
Set, List, Queue; Map
forEach()方法
Stream API
中间操作(Intermediate Operations)
返回Stream
方法 | 作用 |
filter | 筛选 |
map | 转换 |
sorted | 排序 |
distinct | 去重 |
终止操作(Terminal Operation)
方法 | 作用 |
forEach | 遍历 |
collect | 收集成 List |
count | 计数 |
reduce | 汇总 |
执行顺序
每一个元素走完整个处理链/在某层被丢弃后,下一个元素才开始。
- 作者:BarryZed
- 链接:
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。










.jpg?table=block&id=2cb05109-5451-8092-a42a-ffaf40797495&t=2cb05109-5451-8092-a42a-ffaf40797495)