黑马程序员_static 关键字

来源:互联网 发布:文华财经模拟软件 编辑:程序博客网 时间:2024/06/07 03:16
------- 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培训、期待与您交流! ----------
0 0
原创粉丝点击