zoukankan      html  css  js  c++  java
  • 【从零开始学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类的方法时,不需要实例化,直接使用即可。他和调用的成员没有关系,不管谁调用,数学的运算方法都是一样的,这个也称为工具类。

  • 相关阅读:
    HDU
    POJ-1325 Machine Schedule 二分图匹配 最小点覆盖问题
    HDU- 6437.Videos 最“大”费用流 -化区间为点
    曼哈顿最小生成树 全网最全
    牛客 136G-指纹锁 set容器重载
    牛客 136J-洋灰三角 +高中数学博大精深
    数学:矩阵快速幂
    数学:Burnside引理与Pólya定理
    数据结构:树上分块
    数据结构:Bitset
  • 原文地址:https://www.cnblogs.com/zllk/p/12656828.html
Copyright © 2011-2022 走看看