static关键字可以定义属性和方法
static定义属性
在一个类中,所有的属性一旦定义了了实际上内容都交由各自的堆内存空间保存。
static修饰的属性保存在全局数据区
package whq001;
class Person11{
private String name;
private int age;
static String country="中华明国";
public Person11(){}
public Person11(String name,int age){
this.name=name;
this.age=age;
}
public String getInfo(){
return "姓名:"+this.name+"年龄"+this.age+"国家:"+this.country;
}
}
public class JavaDemo{
public static void main(String[] args){
Person11 p=new Person11("张三",10);
Person11 p1=new Person11("李四",34);
p.country="中华人民共和国";
System.out.println(p.getInfo());
System.out.println(p1.getInfo());
}
}
static属性可以直接由类名称直接调用
Persson.country="中华人民共和国";
static属性虽然定义在类中,但并不类的实例化对象的控制。static属性可以不实例化调用。
static定义方法
static方法只允许调用static属性或static方法
非static方法允许调用static属性或static方法。