news 2026/9/10 1:40:00

头歌实践教学平台:Java面向对象-类与对象(五)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
头歌实践教学平台:Java面向对象-类与对象(五)

第6关:static关键字

任务描述
本关任务:使用static关键词设置方法和变量的属性。

相关知识
为了完成本关任务,你需要掌握:1.static关键字有什么作用,2.怎么使用static关键字。

什么是static关键字
static关键字我们经常接触,不过我们一直没有讨论过它到底是什么,有什么具体的作用,那static关键字是什么呢,有啥用呢?

static是静态的意思,是一个修饰符,就像是一个形容词,是用来形容类,变量,方法的。

static修饰变量,这个变量就变成了静态变量,修饰方法这个方法就成了静态方法,

static关键字方便在没有创建对象的情况下来进行调用(方法/变量)。

static关键字的作用
static关键字你可以理解为是一个形容词,一般是用来形容类、方法、变量,代码块,还有一个作用是用来静态导包,本关我们只讨论它的三个用法。

1.修饰变量
不使用static关键字访问对象的属性:

使用static关键字访问对象的属性:

注意:如果一个类的成员变量被static修饰了,那么所有该类的对象都共享这个变量。无论这个类实例化多少对象,它的静态变量只有一份拷贝。
如:

输出:

李四
李四
李四

2.修饰方法

用static关键字修饰的方法叫做静态方法。静态方法我们已经用过,它有一个特点相信你已经很熟悉,那就是不需要创建对象就可以直接使用。
如:

注意:

静态方法不能使用类的非静态变量;


静态方法可以直接调用静态方法,但是调用普通方法只能通过对象的实例才能调用。


3.静态代码块

我们先来看一段静态代码块的运行效果:

输出结果:

我被调用了

上图中static{ }就是一个静态代码块。

我们在main方法中没有编写任何代码,可是运行的时候,程序还是会输出我被调用了,由此我们可以发现静态代码块是不需要依赖main方法就可以独立运行的。

关于静态代码块你只需要记住一句话:在类被加载的时候运行且只运行一次。

静态代码块中变量和方法的调用也遵守我们之前所说的规则,即只能直接调用静态的属性和方法。

编程要求
现在编辑器中代码有异常,请利用本关所学知识修改右侧代码使其能输出如下结果:

hello educoder
我叫楚留香
我喜欢在educoder上学习java

注意: 在Java中是不能用static关键字修饰局部变量的,为什么? 因为这个是老大说的,我们做小弟的不能不听呀。

本关概念较多,需要你用心记下来哦,开始你的任务吧,祝你成功!

package step5;

public class Test {
/********** Begin **********/

static String name = "楚留香";

static{
System.out.println("hello educoder");
}
public static void main(String[] args) {
System.out.println("我叫" + name);
study();
}

public static void study(){
System.out.println("我喜欢在educoder上学习java");
}
/********** End **********/
}

有任何问题都可以随时关注私信!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 1:39:51

最长回文子串的动态规划解法:从状态定义到遍历顺序

最长回文子串这道题,可以说是动态规划入门路上绕不过去的一道坎。LeetCode第5题,看起来就是“给一个字符串,找最长的回文子串”,但真上手做的时候,你会发现它特别适合用来理解动态规划的核心思想:状态怎么定…

作者头像 李华
网站建设 2026/9/10 1:39:03

设计模式新解:从Java经典实现到多Agent主从模式的AI落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/10 1:37:27

A*路径规划核心原理与Matlab手写实现:从算法到可视化

最近在折腾路径规划项目,越做越觉得A这个算法是真的又简单又给力。不管你是做机器人导航、游戏寻路、自动驾驶局部规划还是仓库搬运小车,A基本是绕不开的入门首选。我这次就直接用Matlab从零撸了一套带自定义地图的A路径规划,代码完全手写&am…

作者头像 李华
网站建设 2026/9/10 1:36:41

3分钟搭建Telegram文件直链机器人:免费实现即时流式传输

3分钟搭建Telegram文件直链机器人:免费实现即时流式传输 TG-FileStreamBot是一个强大的Telegram文件直链机器人,能够为Telegram文件生成即时流式传输链接,无需等待完整下载即可在线预览和分享。这个开源项目采用Golang编写,提供高…

作者头像 李华