static关键字的特点:
1)被static修饰的变量或者方法---都称为 "类变量/类方法"
因为他们是随着类的加载而加载,优先于对象先存在的!
2)static不能和this共存
this:代表的当前类对象的地址值引用 ---创建对象了
this.变量名:访问当前类的成员变量 --非静态
this.方法名() ;访问当前类的成员方法 --非静态的
static:是要优先于对象存在,两个肯定不能共存(生命周期不同的!)
3)static基本的特点:共享共用,告诉我们,如果需求体现出共享共用,
可以使用static修饰
4)被静态修饰的变量/方法,推荐的访问方式:(重点)
类名.变量名;
类名.方法名();
注意事项:
非静态的成员方法,既可以访问静态的,也可以访问非静态的
静态的方法--只能访问静态的东西(静态变量/里面调用都是静态方法)
class Person{
String name ;
int age ;
static String country ;
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
public Person(String name,int age,String country){
this.name = name ;
this.age = age ;
this.country = country ;
}
public void show(){
System.out.println("当前人的姓名是"+name+",年龄是:"+age+",所在的国籍是:"+country);
}
}
public class PersonTest {
public static void main(String[] args) {
Person p1 = new Person("西施",25,"中国") ;
p1.show() ;
Person p2 = new Person("王昭君",18) ;
p2.show() ;
Person p3 = new Person("杨贵妃",30) ;
p3.show() ;
Person p4 = new Person("貂蝉",22 ) ;
p4.show() ;
System.out.println(Person.country);
}
}