惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
Attack and Defense Labs
Attack and Defense Labs
V2EX - 技术
V2EX - 技术
O
OpenAI News
S
Secure Thoughts
H
Heimdal Security Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Schneier on Security
Schneier on Security
H
Hacker News: Front Page
S
Security Affairs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
The Register - Security
The Register - Security
GbyAI
GbyAI
Cloudbric
Cloudbric
MongoDB | Blog
MongoDB | Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
K
Kaspersky official blog
Forbes - Security
Forbes - Security
Y
Y Combinator Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Scott Helme
Scott Helme
Hacker News - Newest:
Hacker News - Newest: "LLM"
The Cloudflare Blog
Recorded Future
Recorded Future
人人都是产品经理
人人都是产品经理
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
Webroot Blog
Webroot Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LangChain Blog
T
Tor Project blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Hacker News: Ask HN
Hacker News: Ask HN
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
N
News and Events Feed by Topic
阮一峰的网络日志
阮一峰的网络日志
I
Intezer
V
V2EX
T
Tailwind CSS Blog
SecWiki News
SecWiki News
NISL@THU
NISL@THU
C
Check Point Blog

BarryZed的个人博客

数据库系统原理 | BarryZed的个人博客 Linux与shell命令 | BarryZed的个人博客 机器学习 | BarryZed的个人博客 算法设计与分析 | BarryZed的个人博客 www.barryzed.top 《失落星船:马拉松》游戏内百科归档 | BarryZed的个人博客 有趣的词源 | BarryZed的个人博客 www.barryzed.top My Radar Is Rotating… | BarryZed的个人博客
Java | BarryZed的个人博客
BarryZed · 2026-04-22 · via BarryZed的个人博客

By BarryZed

杂项

导入类与导入包

导入类:import java.util.Scanner;

导入包:import java.util.*;

一个 .java 文件里,最多只能有一个 public 类,并且类名必须和文件名一致

命名规范

类型

规范

示例

大驼峰

StudentInfo

方法

小驼峰+动词

getName

变量

小驼峰

userAge

常量

全大写+_

MAX_SIZE

全小写

com.example

枚举类

大驼峰

Color

枚举值

全大写

RED

成员方法

修饰符

类内

同包

子类

其他包

private

default

protected

public

static

重写、重载与隐藏

重写(Override)

  • 方法名相同
  • 参数列表相同
  • 返回类型相同(或兼容)
  • 权限不能变小
    • protected → public
    • protected → private
  • 不能重写final 方法
  • 调用时看实际对象类型(等号后面的,运行时决定)
  • 不能重写static 方法(是隐藏)

隐藏(Hiding)

处理static 方法同名冲突,子类与父类有相同名字的static 方法时触发

static 没有多态

重载(Overload)

同一个类中,方法名相同,但参数列表不同

编译时决定具体调用那个

多态(Polymorphism)

同一个调用形式,在不同的情况下行为不同

父类引用指向子类对象,调用方法时表现出不同子类行为

类的继承

此时B 是子类(subclass),A 是父类(superclass)

相当于B是完全升级的A,A有的、能做的,B都可以用(也可以override),而且B有其他更新的属性和方法

父类中private 的子类能继承,但是看不见也用不了

构造器不参与继承体系(构造器不是方法)

子类不能改父类的字段,必须通过父类构造器(super)来初始化

如果子类构造器没有调用super(...) ,那么编译器会默认自动加一行super(); ,但是如果父类有没有无参构造方法,那么就会导致报错
如果父类写了有参构造,子类必须显式写构造器(并调用父类构造)

父类与子类的代码位置没有要求(在同一文件里即可)

  • 单继承
    • Java一个类只能继承一个父类

      只能有一个爹,但是可以有多个儿子,也就可以有孙子/多个孙子……

  • 方法重写(Override)
    • 子类可以改父类的方法

  • 子类也是一种父类
    • (B也是一种A)

Java语言所有类的父类(大爹):Object

this, super, final

this

this.name :指发起该函数的对象的成员变量name

在普通方法里,局部变量(方法里)和形参没有和成员变量重名,即可不写this. ,编译器会默认加上

this()

在一个构造方法里,去调用“同一个类里的另一个构造方法”(a.k.a. 构造方法复用)

必须在第一行且只能有一次

不能循环

super

它专门用来访问直接父类(superclass)里的内容

super.属性名 :访问父类属性

super.fun() :调用父类方法

final

不可修改、最终状态

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 变量

实现接口:class Dog implements Animal

  • 接口可以继承,也支持多继承
    • 一个类可以实现多个接口
      • 接口不能被实例化,但是可以创建“接口类型的数组”

        异常(Exception)

        核心体系

        Error

        OutOfMemoryErrorStackOverflowError

        不处理、不捕获

        Exception

        RuntimeException(运行时异常)

        ArithmeticExceptionArrayIndexOutOfBoundsException

        编译器不强制处理,可以不写try-catch

        非RuntimeException(受检异常)

        IOExceptionFileNotFoundException

        编译器强制要求处理、要try-catch

        throws / throw

        throws

        声明有可能抛异常

        在前面

        throw

        真正抛异常

        集合

        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 许可协议,转载请注明出处。