【从零开始学Java笔记】关键字Static

大家可以关注作者的账号,关注从零开始学Java笔记文集。也可以根据目录前往作者的博客园博客进行学习。本片文件将基于黑马程序员就业班视频进行学习以及资料的分享,并记录笔记和自己的看法。欢迎大家一起学习和讨论。

【从零开始学Java笔记】目录

什么是静态?
关键字:static

实例

public class StaticTest {
    public static void main(String[] args) {
        Shu s1 = new Shu();
        s1.name = "刘备";
        s1.address = "蜀国";
        Shu s2 = new Shu();
        s2. name  = "诸葛亮";
        s2.address = "蜀国";
        
        System.out.println(s1.name+s1.address);
        System.out.println(s2.name+s2.address);
    }

}

class Shu{
    String name;
    String address;
    
}

输出结果

刘备蜀国
诸葛亮蜀国

使用static关键字

public class StaticTest {
    public static void main(String[] args) {
        Shu.address = "蜀国";
        Shu s1 = new Shu();
        s1.name = "刘备";
//      s1.address = "蜀国";
        Shu s2 = new Shu();
        s2. name  = "诸葛亮";
//      s2.address = "蜀国";
        
        System.out.println(s1.name+s1.address);
        System.out.println(s2.name+s2.address);
    }

}

class Shu{
    String name;
    static String address;
    
}

输出结果

刘备蜀国
诸葛亮蜀国

被 static 修饰的成员属于类,不属于单个这个类的某个对象,被类中所有对象共享。可以通过类名调用,就像示例中的address一样,一旦被某个对象赋值,所有对象都拥有这个值。同时静态的加载优先于对象,是和类一起加载的。

static的注意事项

静态方法只能访问静态成员
非静态方法既可以访问静态也可以访问非静态
非静态方法中不可以定义静态变量
静态方法中不可以定义this,super关键字

static的优缺点

优点

  • 对对象的共享数据提供单独空间的存储,节省空间,没有必要每一个对象都存储一份
  • 可以直接被类名调用,不用在堆内存创建对象

缺点

  • 访问出现局限性。(静态虽好,但只能访问静态)

static的应用场景

实例:Math类
在使用java提供的Math类的方法时,不需要实例化,直接使用即可。他和调用的成员没有关系,不管谁调用,数学的运算方法都是一样的,这个也称为工具类。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容