Java基础,static关键字

一、static关键字是什么?

static(静态的)修饰的代码属于类,定义的变量存储在方法区的静态常量池当中(类信息存储在方法区)是被所有该类产生的对象所共享的。

我们来看以下代码:

1、不使用static关键字

public class A {
    public String name = "alan";//变量和方法都没有static修饰
    public void run() {
        System.out.println("跑得很快");
    }

    public void flay(){
        System.out.println("飞得很高");
    }
}
public class TEST {
    public static void main(String[] args) {
        A a = new A();
        a.run();
        a.flay();
        a.name = "xxx";
        System.out.println(a.name);
    }
}

运行结果:
跑得很快
飞得很高
xxx

在class TEST中只能创造对象来进行调用

让我们看一下堆栈内存图

方法区存储的是类的信息,但是,这些信息并没有自己独立的内存空间(以信息的形式存储在方法区当中)

2、使用static关键字

public class A {
    public static String name = "alan";
    public static void run() {
        System.out.println("跑得很快");
    }

    public static void flay(){
        System.out.println("飞得很高");
    }
}

输出结果:
跑得很快
飞得很高
xxx
跑得很快
飞得很高
aaa

这里我们发现,一旦加入static关键字,我们能用类名进行直接调用

堆栈内存图:

当然,我们也可以用对象来进行调用,因为类是对象的模板,类可以对应多个对象,多个对象共享类的变量和属性。

二、Java为什么设计static关键字

所以static关键字本质就是帮助我们用类来调用方法和属性

如果没有static关键字,类是不可以调用自己的属性和方法的,只能对象去调用

三、static关键字怎么用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值