细谈Java中使用static变量,方法

问题引入

我们知道,一个类可以创建多个对象,每个对象中都有自己的成员,相互独立,但是假想有这样一种情况,我们希望所有的变量成员都共享一个成员

"static"关键字

Java中 “static” 修饰的成员或类成员,它属于整个类,会被类的所有对象所共享

如何调用由"static"修饰的成员

有两种访问方法:

  • 通过类名直接访问
  • 通过类名创建的对象进行访问

static 修饰的变量为静态变量,在声明之初,系统就为它分配了内存,直到使用结束

这么说大家可能会有点蒙,我拿个具体的实例来讲


public class Demo {
	static String name= "gorit";//1、声明静态变量
	
	public static void main(String[] args) {
		//1.1通过类访问静态变量,无需创建类的对象
		System.out.println("my name is"+Demo.name);
		
		//1.2通过静态变量直接进行访问
		System.out.println(name);
		
		//2、创建类的对象
		Demo hello = new Demo();
		//2.1通过对象名访问静态变量
		System.out.println(hello.name);
		
		//2.2 通过对象修改静态变量的值
		hello.name = "你好";
		System.out.println(hello.name);
		
	}
}

但是最好还是通过Demo.name 来访问静态变量,其它的方法当然也可以,但是为了避免出现未知的问题,还是小心为好

static还可以修饰方法?

static修饰的变量是静态变量,static修饰的方法是静态方法,静态方法又称之为类方法

我们一直写得main 函数就是一个静态方法,所以创建一个静态方法得时候,我们还是得通过类来调用这个静态方法。下面我来看这个实例:

求语文和数学的成绩;


public class Demo {
	public static int a=87,b=93;
	public static int sum()
	{
		return Demo.a + Demo.b;
	}
	
	public static void main(String[] args) {
		//调用静态方法
		System.out.println("语文和数学的成绩:"+Demo.sum());

	}
}

猜你喜欢

转载自blog.csdn.net/caidewei121/article/details/87726450
今日推荐