static关键字
static关键字
static时静态的意思 一般用于成员变量、成员方法和代码块 被他修饰的成员可以直接进行调用
静态变量
静态变量属于某个类 而不属于某个具体的对象
在java中使用static修饰的变量 叫做静态变量
案例:
public static void main(String[] args) {
Animal01 an = new Animal01();
an.setName("张三");
an.setAge(11);
System.out.println(an.getName()+" "+an.getAge());
System.out.println(Animal01.name);
System.out.println(Animal01.age);
}
}
class Animal01{
static String name;
static int age;
public Animal01(String name, int age) {
this.name = name;
this.age = age;
}
public Animal01() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
可以看到在main方法中调用时必须使用类名.静态变量这就是静态变量
静态方法
被static关键字修饰的方法称为静态方法
案例
public static void main(String[] args) {
Animal01 an = new Animal01();
an.setName("张三");
an.setAge(11);
System.out.println(an.getName()+" "+an.getAge());
Animal01.method();
}
}
class Animal01{
String name;
int age;
public Animal01(String name, int age) {
this.name = name;
this.age = age;
}
public Animal01() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public static void method(){
System.out.println("我是静态方法");
}
}
它和静态变量是一样需要调用类名.静态方法
静态代码块
使用static关键字修饰的代码块称为静态代码块
代码块就是由大括号里面由代码体这就是代码块
案例
public static void main(String[] args) {
Animal01 an = new Animal01();
an.setName("张三");
an.setAge(11);
System.out.println(an.getName()+" "+an.getAge());
Animal01.method();
}
}
class Animal01{
String name;
int age;
public Animal01(String name, int age) {
this.name = name;
this.age = age;
}
static {
System.out.println("我是静态代码块");
}
class Animal01{
String name;
int age;
public Animal01(String name, int age) {
this.name = name;
this.age = age;
}
static {
System.out.println("我是静态代码块");
}
{
System.out.println("我是代码块");
}
public Animal01() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public static void method(){
System.out.println("我是静态方法");
}
}
静态代码块是不需要调用的最后运行第一个运行就是由静态代码块
这就是其中还是有一个构造代码块
运行顺序
静态代码块-》构造代码块
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本