java中的静态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的静态相关的知识,希望对你有一定的参考价值。

1.静态方法不可以访问非静态的方法和成员变量

2.java中继承和多态

对于成员变量,编译看左边,运行看左边;

对于一般的成员方法,编译看左边,运行看右边;

对于静态方法,编译和运行都看左边. 

 

       1.静态变量与静态方法说继承并不确切,静态方法与变量是属于类的方法与变量。而子类也属于超类,比如说Manage extends Employee,则Manage也是一个Employee,所以子类能够调用属于超类的静态变量和方法。注意,子类调用的其实就是超类的静态方法和变量,而不是继承自超类的静态方法与变量。但是如果子类中有同名的静态方法与变量,这时候调用的就是子类本身的,因为子类的静态变量与静态方法会隐藏父类的静态方法和变量。

   2.如果子类中没有定义同名的变量和方法,那么调用 "子类名.静态方法/变量"调用的是父类的方法及变量

   3,.如果子类中只定义了同名静态变量,而没有定义与父类同名静态方法,则调用”子类名.静态方法"时,调   用的是父类的静态方法,静态方法中的静态变量也是父类的

   4.如果子类中既定义了与父类同名的静态变量,也定义了与父类同名的静态方法,这时候调用”子类名.静态方法"时,完全与父类无关,里面的静态变量也是子类的

 

以上是关于java中的静态的主要内容,如果未能解决你的问题,请参考以下文章

静态类是不是只包含java中的静态方法?

java中关于静态变量的问题

java中的静态变量,静态方法与静态代码块详解

Java中的静态和枚举

请教大家关于JAVA中的静态变量和静态方法

Java中的静态类