static关键字分析
程序员文章站
2022-06-03 13:26:43
...
一、案列分析
* A:案例演示
* 通过一个案例引入static关键字。
* 人类:Person。每个人都有国籍,中国。
首先我们不加静态,代码如下:
class Demo2_Static
{
public static void main(String[] args)
{
Person p = new Person();
p.name = "王巍";
p.country = "中国";
p.speak();
Person p2 = new Person();
p2.name = "bling";
p2.country = "中国";
p2.speak();
}
}
class Person
{
String name;
String country;
public void speak(){
System.out.println(name + "..." + country);
}
}
结果:
不加静态的内存图分析:
两个相同的内存中都有相同的变量值,这样造成了内存的浪费
加上static的代码:
class Demo2_Static
{
public static void main(String[] args)
{
Person p = new Person();
p.name = "王巍";
p.country = "中国";
Person p2 = new Person();
p2.name = "bling";
p.speak();
p2.speak();
}
}
class Person
{
String name;
static String country;
public void speak(){
System.out.println(name + "..." + country);
}
}
静态内存图分析:
这样可以减少内存的开销