zoukankan      html  css  js  c++  java
  • java之static

    static的作用

    • 静态修饰类的方法
    • 静态修饰类的属性
    • 构成静态代码
    • 构成静态内部类
    • 构成静态导包

    静态修饰类方法

    static方法一般称作静态方法,由于静态方法不依赖任何对象就能进行访问,因此对于静态方法来说,是没有this的,因为它不依赖任何对象。
    在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是具备依赖具体的对象才能被调用
    但是在非静态成员方法中可以访问静态方法/变量的

    静态方法不依赖任何对象,独立于对象存在的
    静态方法不能访问非静态成员变量和非静态成员方法
    非静态成员方法可以访问静态成员方法/变量

    class CM{
    	private static String str1 = "static";
    	private String str2 = "nonstatic";
    
    	public CM(){
    
    	}
    
    	public void print1(){
    		System.out.println(str1);
    		System.out.println(str2);
    		print2();
    	}
    	public static void print2(){
    		System.out.println(str1);
    		System.out.println(str2);
    		print1();
    	}
    }
    
    public class LYQ {
    	public static void main(String[] args) {
    		CM.print2();
    		CM.print1();
    	}
    }
    

    因此,如果说想在不创建对象的情况下调用某个方法,就可以将这个方法设置为static。我们最常见的static方法就是main方法,至于为什么main方法必须是static的,现在就很清楚了。因为程序在执行main方法的时候没有创建任何对象,因此只有通过类名来访问。

    静态修饰方法

    class CM{
    	public static int a = 1;
    	public int b = 1;
    
    	public CM(){
    
    	}
    
    }
    
    public class LYQ {
    	public static void main(String[] args) {
    		CM cm1 = new CM();
    		CM cm2 = new CM();
    		cm1.a++;
    		cm1.b++;
    		System.out.println(cm2.b);
    		System.out.println(cm2.a);
    	}
    }
    


    被static修饰的成员变量叫做静态变量,也叫做类变量,说明这个变量是属于这个类的
    而不是属于是对象,没有被static修饰的成员变量叫做实例变量,说明这个变量是属于某个具体的对象的。

    静态变量是属于类的
    非静态变量是属于对象的

    静态代码块

    很多时候会将一些只需要进行一次的初始化操作都放在static代码块中进行。

  • 相关阅读:
    webpack安装、环境搭建和基本配置
    webpack知识点总结
    Vue之Vuex的使用
    vue之获取滚动条位置
    MongoDB ORM mongoose 配置和使用
    sequelize之通过options生成sql语句
    七牛上传之PutExtra的使用
    使用ssl-validator识别证书信息
    深入理解计算机系统(第三版)第八章重要内容摘要
    深入理解计算机系统(第三版)第七章重要内容摘要
  • 原文地址:https://www.cnblogs.com/Emcikem/p/11828904.html
Copyright © 2011-2022 走看看