知识库 知识库
首页
  • Hyperskill - Java

    • Java basic
    • Java OOP
    • 应知
    • 扩展
    • IO & Stream
    • Error & Exception
    • Algorithm & Data structure
    • Design pattern
    • Web
    • Spring boot
  • 练习题

    • 选择题 & 填空题
    • 代码题
  • Frank - Java与生活 (OOP)

    • 参考资料
    • Java基础
    • OOP上半部分
    • OOP下半部分
  • Frank - Java API进阶

    • Base API
    • Unit Test and main function
  • 学习笔记
  • 学习笔记

    • 数据库
  • Frank - MySQL删库跑路

    • 安装、连接、配置
    • 基本操作——数据库
    • 基本操作——表
    • 基本操作——数据
    • 数据类型
    • 列属性完整性
    • 数据库设计思维
    • 单表查询
    • 多表查询
  • 学习笔记

    • 其它
  • Frank - Linux现代方法

    • 必知
    • 命令
    • 技巧
  • 技术文档
  • Git
  • GitHub技巧
  • 前端
  • Khan Academy - 语法
  • Monthly
  • 阅读
  • Others
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
收藏
  • 标签
  • 归档
GitHub (opens new window)

Jim FuckPPT

Java小学生
首页
  • Hyperskill - Java

    • Java basic
    • Java OOP
    • 应知
    • 扩展
    • IO & Stream
    • Error & Exception
    • Algorithm & Data structure
    • Design pattern
    • Web
    • Spring boot
  • 练习题

    • 选择题 & 填空题
    • 代码题
  • Frank - Java与生活 (OOP)

    • 参考资料
    • Java基础
    • OOP上半部分
    • OOP下半部分
  • Frank - Java API进阶

    • Base API
    • Unit Test and main function
  • 学习笔记
  • 学习笔记

    • 数据库
  • Frank - MySQL删库跑路

    • 安装、连接、配置
    • 基本操作——数据库
    • 基本操作——表
    • 基本操作——数据
    • 数据类型
    • 列属性完整性
    • 数据库设计思维
    • 单表查询
    • 多表查询
  • 学习笔记

    • 其它
  • Frank - Linux现代方法

    • 必知
    • 命令
    • 技巧
  • 技术文档
  • Git
  • GitHub技巧
  • 前端
  • Khan Academy - 语法
  • Monthly
  • 阅读
  • Others
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
收藏
  • 标签
  • 归档
GitHub (opens new window)
  • Hyperskill - Java

  • 练习题

  • Frank - Java与生活

  • Frank - Java API进阶

  • 学习笔记

    • 为什么Java里main方法有个static?
      • Static members
      • // 未完待续。。。
  • Java
  • 学习笔记
Jim
2022-12-02
目录

为什么Java里main方法有个static?

在 Java 中,main 方法的声明通常如下:

public static void main(String[] args) {
    // do something ...
}
1
2
3

如果你刚学习 Java,那么肯定会对 main 方法声明里的 static 产生兴趣,它到底意味着什么?

我们都知道 main 方法是程序的 “入口”,但是不管是老师还是各种教程,他们在跟初学者讲解 main 方法的时候,几乎都对 static 这个关键字闭口不提,要么就是一带而过。比如他们可能会这样说:“先别管那么多,反正每次这样敲就行了”。

这也情有可原,因为 static 多少涉及了面向对象的概念。跟初学者讲吧,又很难把它讲清楚,不讲吧,初学者就是觉得别扭。

但是,老师不教我们就不学了吗?如果不去深究一番,那初学者就永远是初学者。

当我们学过面向对象之后再回头来看就不那么别扭了。

# Static members

静态成员代表的是类和所有实例 “公有” 的。

静态成员有三种:

  1. 静态变量 Static variables
  2. 静态常量 Static constants
  3. 静态方法 Static methods

前两者可合并为静态字段(Static fields)。此时静态成员可分为两种:静态字段、静态方法。

回忆一下,我们每次要在 main 方法中使用其他类的字段或方法时,是不是需要先实例化这个类?或者我们使用一些工具类(Utility class)时,是不是直接用类名调用字段或方法?

这些都跟 static 方法的特性有关。

static 方法的特性:

  1. 静态方法内只能访问静态字段,不能访问非静态字段
  2. 静态方法内不能调用实例方法(Instance method)
  3. 静态方法内不能使用 this 关键字,静态成员是 “公有” 的

# // 未完待续。。。

编辑 (opens new window)
#Java
上次更新: 2022/12/03, 17:31:39
异常

← 异常

最近更新
01
《挪威的森林》
04-14
02
青钢影
04-14
03
Processing strings
02-18
更多文章>
Theme by Vdoing | Copyright © 2022-2023 Jim Frank | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式