• 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代码块中进行。

  • 相关阅读:
    C#编程(七十九)---------- 反射
    C#编程(七十一)---------- 自定义特性
    C#编程(七十六)----------使用指针实现基于栈的高性能数组
    C#编程(七十五)----------C#使用指针
    微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能
    [asp.net]c# winform打印类
    Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file
    ValueError: invalid literal for int() with base 10: 'abc'
    检查网址是否正常访问
    Python测试网络连通性示例【基于ping】
  • 原文地址:https://www.cnblogs.com/Emcikem/p/11828904.html
Copyright © 2020-2023  润新知