Java中的关键字static?

来看看Java中的static

static

static:静态的。主要用来修饰类的内部结构,如:属性、方法、代码块、内部类。

static修饰属性

Java中的成员变量分为实例变量和静态变量,当用static修饰时就叫静态变量,反之为实例变量。
实例变量: 我们可以创建很多对象,每个对象又可以创建非静态变量,他们都各自独立,当修改其属性的 值并不会影响其他对象中同样属性的值。
静态变量: 当我们创建很多对象,他们共享同一个静态变量,其中一个对象修改其值的时候,会导致另一个对象在调用它的时候得到的值是改变了的。
注意:

  1. 静态变量是随着类的加载而加载,可以通过“类.静态变量”去调用。
  2. 静态变量的加载要早于对象的创建。
  3. 因为类只加载一次,所以静态变量在内存中也只存在一份:存在方法区的静态域中。
public class Man {
    private String name;
    private int age;
    private static String sex;

    public static void main(String[] args) {
        Man.sex = "1";
//      Man.name = "张三"; 不能直接通过类调用
        Man man = new Man();
        man.name = "张三";
    }
}

static修饰方法

static修饰的方法叫做静态方法或类方法,也是随着类的加载而加载,可以通过“类.静态方法”去调用。
在静态方法中,只能调用静态的方法和属性。而在非静态方法中,可以调用非静态的方法和属性,也可以调用静态的方法和属性。

public class Man {
    private String name;
    private int age;
    private static String sex = "0";

    public static void main(String[] args) {
        Man man = new Man();
        man.method();
    }

    public void method(){
        name = "张三";

        String sex = getSex();
        System.out.println("姓名:" + name + ",性别:" + sex);
    }

    public static String getSex(){
        return sex;
    }
}

什么地方需要用到static

属性:

  1. 属性可以被多个对象共同享用,不会因为对象的不同而不同。
  2. 类中的常量通常也声明为static

方法:

  1. 操作静态属性的方法
  2. 工具类中的方法。如:Math、Arrays等工具类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值