《关于java中static静态这档事》

Static

1.static修饰成员变量

  • 静态成员变量存放于内存中数据区(共享资源)
  • 生存周期长于类对象,推荐使用类名调用,使用类对象调用可能会出现问题。
  • 静态成员变量一经修改,每处用到的地方都受影响。

2.static修饰成员方法

  • 静态成员方法随类文件的加载,准备就绪随时可以执行。

  • 静态成员方法推荐使用类名调用,原因生存周期与类对象不同。

  • 静态成员方法能使用类内其他静态资源

  • 静态成员方法不能使用非静态资源

  • 静态成员方法不能使用this关键字

  • 静态成员方法可以被继承,不能被重写。

3.static代码块

  • 用static{}包起来的代码
  • 在类文件加载过程中,一定执行且执行一次。
  • 与静态成方一样只能使用类内静态资源,不能使用非静态资源

static用途及特点

  • 摆脱类对象的束缚,运行效率高,占用资源少。

代码实例

静态成员变量

public class Test {
    static String str = "萌王真好看";
    public static void main(String[] args) {
        System.out.println("通过类名:" + Test.str);
        Test t1 = new Test();
        //使用idea工具此时t1.str会有警告出现
        System.out.println("通过对象:" + t1.str);
        //修改str的值
        Test.str = "炭治郎";
        System.out.println("通过类名:" + Test.str);
    }
}

代码执行结果

通过类名:萌王真好看
通过对象:萌王真好看
通过类名:炭治郎

静态成员方法

public class Test {
    //声明静态方法
    public static void print() {
        System.out.println("萌王嘛时候更新啊");
    }

    public static void main(String[] args) {
        //直接使用类名调用静态方法
        Test.print();
        //通过对象调用静态方法
        Test t1 = new Test();
        //idea工具t1.print();出现警告
        t1.print();
    }
}

代码执行结果

萌王嘛时候更新啊
萌王嘛时候更新啊
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值