- statci修饰方法(类方法):
- 1.随着类的加载而加载,在内存中也是读一份。
- 2.可以直接通过“类。类方法”的方式调用。
- 3.内部可以调用静态的属性或方法,而不能调用非静态的属性或方法。反正,非静态的方法可以调用静态的属性或方法。
- 注:静态的结构(static 的属性、方法、代码块、内部类)的生命周期要早于非静态的静态的结构,同时被
- 回收也要晚于非静态的结构.
- 4.静态的方法里是不可以有this或super关键字的
- 弊端:生命周期过长,有时会占用内存。
public class TestSportsMan {
public static void main(String[] args) {
SportsMan s1 = new SportsMan("卢本伟",12);
SportsMan s2 = new SportsMan("柚柚妹",12);
s1.name = "马飞飞" ;
s1.nation = "China";
System.out.println(s1);
System.out.println(s2);
System.out.println(SportsMan.nation);
s1.show1();
SportsMan.show();
}
}
class SportsMan{
String name;
int age;
static String nation;
public String getName() {
return name;
}
public SportsMan(String name, int age) {
super();
this.name = name;
this.age = age;
this.nation = "中国";
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public SportsMan(String name, int age, String nation) {
super();
this.name = name;
this.age = age;
this.nation = nation;
}
public String getNation() {
return nation;
}
public void setNation(String nation) {
this.nation = nation;
}
@Override
public String toString() {
return "SportsMan [name=" + name + ", age=" + age + ", nation=" + nation + "]";
}
public void show1() {
age = 10;
System.out.println("我是一个来自于中国的运动员");
}
public static void show() {
info();
System.out.println("nation: " + nation);
System.out.println("我是一个来自于中国的运动员");
}
public static void info() {
System.out.println();
}
}