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

【java学习】static详解

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

【java学习】static详解

static关键字的由来和概念

通常情况下,属性和方法都是隶属于对象层级,也就是说每个对象都有自己独立的属性空间。然而有些属性需要属于整个类(比如中国这个国籍属性是所有中国人对象所共有的),就是说所有对象都要共享。
如果所有对象的某个成员变量数值完全一直却又单独存放,则会造成内存空间的浪费。
static就是把对象层级提升到了类层级。static修饰的属性/代码块/方法都是隶属于类,在类加载时就准备完成了,不需要创建对象(new)。

public class Person{
	private String name;
	privete int age;
	
	private String country;//隶属于对象层级,每个对象都有一份
	---改成---
	public static String country;//隶属于类层级,每个对象共享一份
}
public class PersonTest
	public static void main(String[] args){
	//此时还没创建对象,但可以使用“类名.属性”访问成员变量
	Systerm.out.println(Person.country);

	Person p1=new Person("张飞",30,"中国");
	p1.show();
	Person p2=new Person("关羽",35,"中国");
	p2.show();
	---加上---
	p1.country="蜀国"//改一个全被改
	System.out.println("p2.country"+p2.country);//蜀国
	//此时 country被所有对象共享
}

没用static修饰时候的内存空间
使用static修饰后的内存空间

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/353471.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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