ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

25.static关键字

2021-10-28 12:03:04  阅读:163  来源: 互联网

标签:25 Chinese 静态 关键字 对象 static id 属性


什么时候成员变量声明为实例变量呢?  -------所有的对象都有这个属性,但是这个属性的值会随着对象的变化而发生变化【不同对象的这个属性的值不同】   例如每个人的名字

什么时候成员变量声明为静态变量呢?  --------所有的对象都有这个属性,但是所有的对象的这个属性是相同的  例如中国人的国家都是中国 ,这对于所有的中国人来说都是一样的       简而言之就是这个属性的值不随着对象的改变而发生变化

静态变量在类加载的时候,内存空间在方法区内存中开辟,访问的时候不需要创建对象,直接使用类型.静态变量名 的方式访问

关于static关键字:                                                  

static翻译为静态的,它修饰静态方法或者静态变量,它修饰类级别的特征,和具体的对象无关。它们都可以使用类名.的方式来访问,也可以使用引用.的方式来访问,但是我们不建议这样做

package com.bjpowernode.jave.Test03;

public class ChineseTest {

	public static void main(String[] args) {
		Chinese c1 = new Chinese(123, "张一一");
		Chinese c2 = new Chinese(456,"李二二");
		Chinese c3 = new Chinese(789, "王三三");
		c1.print();
		c2.print();
		c3.print();
	}

}

class Chinese{
	int id;
	String name;
	//这里的国家属性定义为static 静态变量 因为无论对象怎么变化 国家属性都是中国
	static String country = "中国";  
	
	public Chinese(int id, String name) {
		this.id = id;
		this.name = name;
	}
	
	public void print() {
		System.out.println(this.name+"的id是"+this.id+"-----"+Chinese.country);
	}
	
}

可以使用static关键字来定义“静态代码块”

语法格式:

        static{

                java语句;

静态代码块在类加载的时候执行,并且只执行一次  静态代码块在一个类中,可以编写多个,遵循自上而下的顺序执行

方法什么时候定义为静态的呢?

       方法描述的是动作,当所有的对象执行这个动作之后,最终产生的结果是一样的,那么这个动作已经不再属于某一个对象动作了,可以将这个动作定义为类级别的动作,这个时候我们可以将这个方法定义为静态方法。 

        静态方法中无法直接访问实例变量和实例方法 当一个方法在不同的对象去执行的时候对应的结果是不一样的,这样的时候我们可以将方法定义为实例方法,通过创建对象,引用.的方式去访问。

标签:25,Chinese,静态,关键字,对象,static,id,属性
来源: https://blog.csdn.net/le_le777/article/details/121002372

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有