static它是静态修饰符,一般用来修饰类中的成员。
被static修饰的成员变量属于类,不属于这个类的某个对象。(也就是说,多个对象在访问或修改static修饰的成员变量时,其中一个对象将static成员变量值进行了修改,其他对象中的static成员变量值跟着改变,即多个对象共享同一个static成员变量)
多态是指父类引用指向子类对象,调用方法时会调用子类的实现,而不是父类的实现。
多态的存在有三个前提:1.要有继承关系;2.子类要重写父类的方法;3.父类引用指向子类对象。
所以一般情况下,多态成员访问的特点:
成员方法:编译看左边(父类),运行看左边(子类)
成员变量:编译看左边(父类),运行看左边(父类)
但是在静态方法中:编译看左边(父类),运行看左边(父类)
即,运行静态方法,运行父类中的静态方法;运行非静态方法,运行子类的重写方法;成员变量,编译运行的全是父类。