zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【JAVA】对static修饰符的入门理解(不断总结,更新中......)。

JAVA入门 总结 理解 更新 static ...... 不断
2023-09-11 14:14:57 时间

一、static的用途

1、为什么要用static修饰【静态变量】?

首先,是公共性,定义一次,大家都可以用。Static变量是在类的第一行声明变量,不在方法或函数里,也不是放在main里,因为,这样,它才能被所有的方法和函数调用,一般用于修饰类的属性和方法。

举例:计数用(获取用户的PV访问量),比如:你打开一个APP,系统可以计算并记录你访问每一个页面的次数。一进入系统,就可以用Static声明变量,比如:public static int m_click=0; 每访问一个页面,在页面的代码中让这个变量加1。

其次,是减少变量的重复定义,另外,调用也比较方便,不需要再定义和声明。

最后,列出了其他文章关于static的用法:

  1. 修饰变量,把它变成类的成员,大家可以共享使用。
  2. 修饰方法,可以直接用"类.方法名()”来调用。
  3. 修饰代码块,把多个类成员放在一起初始化,注意:每次用NEW声明对象时,就自动执行,但只会执行一次。
  4. 静态导包,把类的方法直接导入到当前类里,可直接用“方法名()”调用类。
package HELLO;

public class helloword {
	
	public static void main(String[] args) {
		bian uuu=new bian();
		System.out.println("声明再调用,麻烦而且还多占用内存:"+uuu.m);
		System.out.println("直接调用显示i的值:"+bian.m);
	}
}

二、用static修饰【静态变量】

主要用于一个类(.java文件内)中的应用,一般在第一行。其实,刚开始,我一直有一个疑问,那不加static不是也能定义变量吗?为什么要加?后来测试发下,如果不加static,在static的静态方法或函数中是不能调用的。你看一看下面的例子就知道了。

package HELLO;

public class helloword {
	
	// 注意:用 static都 是在类的最前面,这样可以被下面的方法和函数调用,造成不要放在方法里。
	
	static int i=0;  // static静态变量
	public int u=0;  // 不带static的变量
	
	void shuxue()  // 在这个方法中可以调用i,也可以调用u,没毛病。
	{
		i++;
		u++;
		System.out.print("小类!"+i);
	}
	
	// 注意,main()前面有static,但是他不能调用没有加static的变量u,但可以调用i,
	
	public static void main(String[] args) {
		
		i++; // 调用加了static的i没毛病。
		// u++;  但是u不行,会报错的。
		System.out.print("显示i的值:"+i);
		
	}
	
}

三、用static修饰【静态方法】

1、实例,直接调用静态方法

package Book;
public class book {

	public static void print()  // 显示内容
	{
		System.out.println("水浒传:66元");
		
	}
	public static void main(String[] args) 
	{
		book.print();   // 直接调用,在其他类中也是直接调用的。
	}
}

四、用static修饰【代码块】

package Book;
public class book {

	// ================== 静态代码块 
	
	static 
	{
	System.out.println("类初始化块");
	int	age = 20;
	}
	
	
	public static void print()  // 显示内容
	{
		System.out.println("水浒传:66元");
		
	}
	public static void main(String[] args) 
	{
		book m_book1= new book(); // 只要对象化类,就自动执行static的代码块。
		book m_book2= new book(); //  但是,只执行一次。
	}
}