java static关键字

static 是静态修饰符,一般用来修饰类中的成员。

被static修饰的成员变量属于类,每个对象都可以去调用和修改他,每个对象都共享这个类,一个对象修改他,每个对象的都会被修改

静态内容是优先于对象存在的,里面不能用this/super,静态修饰的内容存储于方法与数据共享区的静态区

1 public class fu {
2     String name;
3     int age;
4     static String sex;    //定义一个性别为类,共享
5     }
 1 public class test {
 2     public static void main(String[] args) {
 3         zi zi =new zi();
 4         zi.age = 15;
 5         zi.name = "董斌";
 6         zi.sex = "男";     //写了2个继承父类的子类,然后对性别赋值,因为都是继承父类,所以zi1也是共用这个属性
 7         zi1 zi1 = new zi1();
 8         zi1.name = "张瑞";
 9         zi1.age = 18;
10         System.out.println(zi.sex);
11         System.out.println(zi1.sex);        
12     }
13 }

被static修饰的成员可以通过类名直接访问

类名.静态成员变量名

类名.静态成员方法名(参数)

对象名.静态成员变量名      ------不建议使用该方式,会出现警告

对象名.静态成员方法名(参数) ------不建议使用该方式,会出现警告

在多态中,如果父类用static 修饰了一个方法,并且有子类继承了,那子类也要用static来修饰,执行的时候会调用父类中的方法

1 public class fu {
2     private String name;
3     private int gae;
4     public static void eat(){
5         System.out.println("老子吃肉");
6     }
1 public class zi extends fu{
2     public static void eat(){
3         System.out.println("儿子吃肉");
4     }
5 }
1 public class test {
2     public static void main(String[] args) {
3         fu zi =new zi();
4         zi.eat();
5     }

猜你喜欢

转载自www.cnblogs.com/wangrongchen/p/9071356.html