静态方法不能使用 super 调用父类静态方法
2016-04-28 22:13
441 查看
public class SuperCalc { protected static int multily(int a, int b) { return a * b; } }
public class SubCalc extends SuperCalc { public static int multiply(int a, int b) { int c = super.multiply(a, b); return c; } }
错误提示:
super 处:
Cannot use super in a static context
意思便是不能用 super 调用静态的上下文,比如静态方法和静态成员变量
super 可以调用的是父类的成员函数(即非静态的)和成员变量(即非静态的),需要调用父类的类函数和类变量则需要用父类名调用.
在例子中:
int c=super.multiply(a,b);
应该改为
int c=SuperCaic.multiply(a,b);
相关文章推荐
- PostgreSQL教程(三):表的继承和分区表详解
- Lua面向对象之类和继承浅析
- 浅析Ruby中继承和消息的相关知识
- c#静态方法和非静态方法详细介绍
- C#中的静态成员、静态方法、静态类介绍
- 设计引导--一个鸭子游戏引发的设计理念(多态,继承,抽象,接口,策略者模式)
- C++实现不能被继承的类实例分析
- C#中实现抽象类里建立静态方法
- C# 面向对象三大特性:封装、继承、多态
- PHP类的封装与继承详解
- js继承 Base类的源码解析
- Javascript 面向对象 继承
- JavaScript 继承使用分析
- Javascript面向对象编程(二) 构造函数的继承
- Javascript中的几种继承方式对比分析
- javascript面向对象之Javascript 继承
- JavaScript 对象、函数和继承
- 详述JavaScript实现继承的几种方式(推荐)
- javascript 继承学习心得总结
- 学习javascript面向对象 javascript实现继承的方式