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();
        }
    }
  • 相关阅读:
    table变宽格式
    IE11兼容性设定
    Spring AOP注解失效的坑及JDK动态代理
    关于何时执行shiro AuthorizingRealm 里的 doGetAuthenticationInfo与doGetAuthorizationInfo
    后端接收json数据交互
    关于JavaDate数据返回到前端变数字的问题(并引申到前后端时间的传输)
    git 列出两个分支 或者两个提交版本之间不同的文件名字
    map put相同的key
    MyBatis 中如何调用 Java 的 enum (枚举) 字段
    @ResponseBody 和 @RequestBody 的作用
  • 原文地址:https://www.cnblogs.com/HappyKnockOnCode/p/12660091.html
Copyright © 2011-2022 走看看