⛳Java中的静态

⛳Java中的静态_第1张图片

Java中的静态目录

  • ⛳ Java中的静态
    • 1, 静态
    • 2,例子
    • 3,JVM的存储

⛳ Java中的静态

1, 静态

  • 使用范围:在Java类中, 可用static修饰属性、 方法、 代码块、 内部类

  • 被修饰后的成员具备以下特点:

    • 随着类的加载而加载
    • 优先于对象存在
    • 修饰的成员,被所有对象所共享
    • 访问权限允许时,可不创建对象,直接被类调用
  • 类方法,类中使用static修饰的方法

    • 没有对象的实例时,可以用类名.方法名()的形式访问由static修饰的类方法。
    • 在static方法内部只能访问类的static修饰的属性或方法, 不能访问类的非static的结构
    • 因为不需要实例就可以访问static方法,因此static方法内部不能有this。 (也不能有super ? YES!)
    • static修饰的方法不能被重写

2,例子

public class Chinese {

    private String name;
    private int age;

    public static String nation = "大中国";

    public void f1() {
        System.out.println("f1");
    }

    public static void f2() {
        System.out.println("f2");
    }


    //自我介绍
    public static void show() {
        //在静态方法中,不能使用this,super
        //静态方法中,只能使用静态变量
        System.out.println("自我介绍" + nation);
        f2();
    }

    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;
    }
}
package k_static;

public class Test {
    public static void main(String[] args) {
        Chinese malong = new Chinese();
        malong.setName("马龙");
        malong.setAge(32);
        malong.nation = "中华人民共和国";

        Chinese yaoming = new Chinese();
        yaoming.setAge(34);
        yaoming.setName("姚明");

        yaoming.nation = "中国";

        System.out.println(malong.getName());
        System.out.println(malong.nation);
        System.out.println(Chinese.nation);
        Chinese.show();

    }
}

3,JVM的存储

⛳Java中的静态_第2张图片

你可能感兴趣的:(Java基础知识,java,开发语言)