zoukankan      html  css  js  c++  java
  • java —— static 关键字

    static 用法

    声明静态成员变量(也称类变量),从属于类,是该类的公用变量,生命周期与类相同,**注意与普通成员变量区分 ** 普通成员变量从属于对象,生命周期与对象相同。

    注意!!!

    static 方法不可访问非static 成员,非static成员从属于对象,在堆内存中无法找到。

    个人理解:static 变量声明初始化以后,创建的对象全都是被初始化过的,相当于这个类特有的“印记”

    撸代码:

    /**
     * @author DREAM_yao
     *static关键字的用法
     */

    /*static:声明静态成员变量和方法,从属于类
     * 
     * */


    class Score{
        String name;/*从属于对象*/
        static String id="DREAM_yao";/*从属于类*/
        static int num;
        public void printname() {/*普通方法可以调用静态方法*/
            System.out.println("普通方法:"+id);
        }
        public static void printId(){/*静态方法不能调用普通方法,在内存中找不到*/
            System.out.println("静态方法:"+id);
        }
    }
    public class TestConstructor {
        public static void main(String[] args) {
            Score s2 = new Score();
            s2.printname();
            s2.printId();
            s2.id="快乐撸代码";
            System.out.println(s2.num);
            s2.printId();
        }
    }

    静态初始化块:

    用于类的初始化

    /**
     * @author DREAM_yao
     *静态初始化块
     */

    /*static:声明静态成员变量和方法,从属于类
     * 
     * */

    class Score{
        String name;/*从属于对象*/
        static String id;/*从属于类*/
        static int num;
        static {/*static 初始化块*/
            System.out.println("执行类的初始化:");
            id="DREAM_yao";
            num=666;
            System.out.println(num+" "+id);
        }
    }
    public class TestConstructor {
        public static void main(String[] args) {
            Score s2 = new Score();
        }
    }
  • 相关阅读:
    @Transactional 什么情况下会失效?
    如何主持一场专业的面试?
    MIT-HIB 心率数据库及相关
    hadoop中Writable类
    XXX.jar has no source attachment
    Win10Eclipse配置个人本地hadoop
    js去除两个数组中重复的元素
    JS找出两个数组中不相同的元素
    flex中order控制元素的排列顺序
    flex中align-self设置侧轴的某元素的对其方式
  • 原文地址:https://www.cnblogs.com/HappyKnockOnCode/p/12660091.html
Copyright © 2011-2022 走看看