栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

static关键字

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

static关键字

static关键字

1、static是静态的意思;

2、所有static关键字修饰的都是类相关的,属于类级别;

3、所有staic修饰的,都采用“类名.”的方式访问(不需要对象参与访问,不会出现空指针异常);

4、static修饰的变量:静态变量(在类加载时进行初始化,存储在方法区);

5、static修饰的方法:静态方法;

什么时候使用静态变量

当这个类型的所有对象都有某个属性值是一样的,如果定义为实例变量就会浪费一定的内存空间,可以将它定义为类级别的静态变量,在方法区中只保留一份节省空间。

public class Chinese{
    String name;
    String idCard;
    String country;
    
    public Chinese(){
        
    }
    public Chinese(String s1,String s2,String s3){
        idCard=s1;
        name=s2;
        country=s3;
            
    }
}
public class StaticTest01{
    public static void main(String[]agrs){
        Chinese c1=new Chinese("1111111112222","张三","中国");
         Chinese c2=new Chinese("555566666772","李四","中国");
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NQasOKpi-1653231648470)(D:BaiduNetdiskDownload1-JavaSE01-Java零基础入门教程01-课堂笔记+思维导图4-JavaSE零基础课堂画图16-变量什么时候声明为静态变量.png)]

静态变量的内存空间

//static String country="中国";

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pLXWrBRX-1653231648472)(D:BaiduNetdiskDownload1-JavaSE01-Java零基础入门教程01-课堂笔记+思维导图4-JavaSE零基础课堂画图17-变量什么时候声明为静态的2.png)]

小结:

1、实例的一定需要使用”引用.“来访问;

2、静态的也可以使用”引用.“来访问,建议使用”类名.“访问,为了和实例变量区分开;

3、当静态使用”引用.“访问,运行时也会转为”类.“

静态代码块

语法:

static{
		java语句;
		java语句;
		java语句;
}

特点:

1、类加载时执行 ,并只执行一次;

2、在main方法前执行;

3、执行顺序自上而下;

作用:记录类加载日志

实例代码块

{
		java语句;
		java语句;
		java语句;
}
特点:
    调用构造方法时,在构造方法前执行
java中的三大变量

变量分类

1、在方法体内的称为局部变量;

2、方法体内的称为成员变量;

3、成员变量分为实例变量和静态变量(static修饰的变量);

4、实例的,都是对象相关的,访问时必须先new对象(会有空指针异常的发生);

空指针异常是怎么发生的

"空引用"访问实例相关的都会出现空指针异常

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4eO7XnpY-1653231648476)(D:BaiduNetdiskDownload1-JavaSE01-Java零基础入门教程01-课堂笔记+思维导图4-JavaSE零基础课堂画图10-空指针异常是怎么发生的.png)]

三种变量的内存分布

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zrh1cT08-1653231648477)(D:BaiduNetdiskDownload1-JavaSE01-Java零基础入门教程01-课堂笔记+思维导图4-JavaSE零基础课堂画图18-java中的三大变量.png)]

总结

Java中的变量可分为成员变量、局部变量,成员变量分为实例变量和静态变量。局部变量从属于方法保存在栈中,实例变量从属于对象保存在堆中,静态变量从属于类保存在方法区中。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/927104.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号