java中static关键字

本文详细介绍了Java中的static关键字,包括它可以修饰类、方法和属性,以及它们在内存中的存储位置。静态成员存储在方法区,程序启动时即创建。静态变量在程序任何地方都可调用,其生命周期从程序开始到结束。静态方法仅限于本文件内调用,可直接通过类名或对象调用。非静态成员则需通过对象实例化来访问。理解static的使用对于Java编程至关重要。
摘要由CSDN通过智能技术生成

static关键字

1.修饰什么

static 可一修饰 类/对象、方法和属性

static 静态的意思

被static修饰的对象、类方法、属性都叫静态成员

内存图解

在这里插入图片描述

每一个程序运行时,只会开辟一个方法区,而static的作用就是将所修饰的对象、方法、属性存在这样一个程序一执行,就只存在一个的方法区里面

2.被修饰的静态方法、静态变量和普通的有什么区别

因为静态成员是存在方法区的,程序一执行就会为方法区内的变量、方法创建内存空间

那么

(1)静态变量有什么特点?

他从程序性一开始就创建了内存空间,所以可以在程序的任何一个地方调用这个方法,

所以可以在程序的任何一个地方调用这个方法

例子:

即在方法中给局部变量加上staitic修饰,那么他的内存空间是存储在共享的方法区中,那么着呢个程序都可以调用

变量的生存周期从,随方法入栈运行而生成,随方法出栈而回收----------------------->随程序执行而生成,程序结束而回收

那么普通的定义的全局变量和静态全局变量又有什么不同呢?

public class Test{
    public static void main(String[] args){
        int a = 1;					//普通全局变量
        static int b = 1;			//静态定义全局变量
        
    }
}

这两个都是存在方法区中的本质上没有任何区别,但区别是一个程序如果有多个源文件,那么在其他源文件也能通过类名.变量名调用全局变量

而static是限制这个全局变量只能在这个文件里面被调用,相当于多加了一层限制

(2)静态方法与普通方法

static方法作用域只在本文件中,为内部函数

且被static修饰的方法,可以直接调用方法名使用,也可以通过实例化一个对象,在通过对象.方法名使用

普通方法:

public class Test1 {
    public static void main(String[] args) {
        Test1 test1 = new Test1();

        Test1.methon();		//实例化对象,在通过对象调用它的方法
    }

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

静态方法:

public class Test1 {
    public static void main(String[] args) {
        Test1 test1 = new Test1();
        test1.methon();	//实例化对象调用
        methon();		//直接方法名调用
    }

    private  static void methon() {
        System.out.println("*************");
    }
}

注意:static修饰的方法是内部方法,不能被同一程序程序的其他类调用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值