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("我是静态方法");
}
}

 

 

静态代码块是不需要调用的最后运行第一个运行就是由静态代码块

这就是其中还是有一个构造代码块

运行顺序

静态代码块-》构造代码块

 

posted @ 2022-06-15 20:20  baimingze  阅读(44)  评论(0)    收藏  举报