黑马程序员_static 关键字

------- android培训java培训、期待与您交流! ----------

用法:static是一个修饰符,用于修饰成员(成员包括成员变量和成员函数)。

当成员被static修饰后,成员不在堆内存中,而是存放在方法区,节约了内存空间,被被对象所共享,被static修饰的成员不仅可以被对象调用,还可以直接被类名调用,如Person.country()//Person 直接调用static修饰的country方法。

方法区:也叫共享区或数据区,用来存放static修饰的成员、方法。

static的特点:

1,随着类的加载而加载,随着类的消失而消失,生命周期最长。

2,优先于对象存在

3,被所有对象共享

4,直接被类名调用

Static使用注意:

1,静态方法只能访问静态成员,非静态方法可以访问静态成员及非静态成员

2,静态方法中不可以定义this super 关键字,因为静态优先于对象存在

3,主函数main 是静态的

使用static的利弊:

对对象共享数据进行单独空间存储,节省空间,可直接被类名调用,但是生命周期过长,访问出现局限性(静态只能访问静态)。

什么时候使用static

从两方面分析,静态变量和静态函数

静态变量:对象中出现共享数据时用静态修饰,如果是特有数据时定义为非静态

静态函数:当功能内部没有访问到非静态数据时,可定义成静态函数

class Person
	{
		String  name;

		p ublic static void show()

			{

			System.out.println(“a static demo”);//函数内与对象特有属性无关,函数可用static修饰

			}
	}

 public static void main(String[] args)

	{

		Person.show();//静态函数类名可以直接调用

	} 


静态的应用:

每个程序中都有共性的功能,可以将功能抽取,独立封装以便复用。




------- android培训java培训、期待与您交流! ----------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值