欢迎各界计算机爱好者加入,弘扬极客精神!

”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?

0 喜欢 0 不喜欢
最新提问 9月 15, 2016 分类:C# | 用户: ssss (132 分)  

5 个回答

2 喜欢 0 不喜欢
 
已采纳

static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。
Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以概念上不适用。

最新回答 9月 15, 2016 用户: ぴ漏網ず嘀渔 (2,006 分)  
采纳于 9月 15, 2016 用户:ssss
1 喜欢 0 不喜欢
Static表示静态的意思,可用于修饰成员变量和成员函数,被静态修饰的成员函数只能访问静态成员,不可以访问非静态成员。静态是随着类的加载而加载 的,因此可以直接用类进行访问。 重写是子类中的方法和子类继承的父类中的方法一样(函数名,参数,参数类型,反回值类型),但是子类中的访问权限要不低于父类中的访问权限。重写的前提是 必须要继承,private修饰不支持继承,因此被私有的方法不可以被重写。静态方法形式上可以被重写,即子类中可以重写父类中静态的方法。但是实际上从 内存的角度上静态方法不可以被重写。
最新回答 9月 15, 2016 用户: Edward (2,002 分)  
0 喜欢 0 不喜欢

“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。
Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以概念上不适用。

最新回答 9月 15, 2016 用户: 5 (5,262 分)  
0 喜欢 0 不喜欢
最新回答 9月 15, 2016 用户: 5 (5,262 分)  
0 喜欢 0 不喜欢
静态分配的,有两种情况:
 1. 用在类里的属性、方法前面,这样的静态属性与方法不需要创建实例就能访问,
  通过类名或对象名都能访问它,静态属性、方法只有“一份”:即如果一个类新建有N个
  对象,这N 个对象只有同一个静态属性与方法;
2.  方法内部的静态变量:
   方法内部的静态变量,执行完静态变量值不消失,再次执行此对象的方法时,值仍存在,
   它不是在栈中分配的,是在静态区分析的, 这是与局部变量最大的区别;
最新回答 9月 15, 2016 用户: 我好像在哪见过你 (3,976 分)  
...