栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关键字static的用法(关键字static的作用)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关键字static的用法(关键字static的作用)

static(静态的) 引入

某些特定属性可以在内存中只有一份,属于所有对象共有,不用再特定给每个对象进行定义,比如中国人的国家名称,这时候就需要static。

static可以修饰属性、方法、代码块、内部类

一、static修饰属性:属性分为静态属性(类变量)和非静态属性(实例变量)

1.非静态变量:当创建了类的多个对象,每个对象都拥有一套非静态属性,当修改一个对象中的非静态属性时,不会导致其他对象中的属性改变。
2.静态变量:创建了多个对象,多个对象共享同一个静态变量,当修改一个对象的静态变量时,其他对象调用此静态变量时,都是修改过的。
3.静态变量随着类的加载而加载,所以静态变量的加载早于对象的创建,并且类只会加载一次,所以静态变量在内存中也只会存在一份:存在方法区的静态域中。可以通过“类.静态变量”的方式进行调用
4.静态属性举例:System.out;Math.PI
5.内存解析:

二、static修饰方法:静态方法

1.静态方法随着类的加载而加载,可以通过"类.静态方法"的方式进行调用
2.静态方法中:只能调用静态属性和静态方法
非静态方法中:既可以调用非静态的方法和属性,也可以调用静态的方法和属性
3.在静态方法内,不能使用this和super关键字

三、开发中如何确定一个属性是否要声明为static

1.属性是可以被多个对象所共享的,不会随着对象的不同而不同
2.类中的常量一般声明为static

四、开发中如何确定一个方法是否要声明为static

1.操作静态属性的set、get方法或包含静态属性的方法通常设为static的
2.工具类中的方法,习惯上声明为static的(因为没必要去创建对象),比如:Math,Arrays,Collections

static使用举例:

class Person{
	private int id;
	//要求创建person对象时,id从201801开始,每创建一个对象,id变为201802,201803......
	//这时就需要定义一个static的init,每调用一次构造器就+1
	private static int init = 201801;
	public Person() {
		id  = init++;
	}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/776871.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号