A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 王勇 于 2014-5-28 18:28 编辑

如果子类实现了某一接口,并覆写了接口中的某一方法,这样我覆写的这一方法是否为静态的????
我们知道接口中的方法都是受:public abstract static 所修饰的,那么子类实现覆写以后有什么不同????

4 个回复

倒序浏览
首先明确一点!  没有抽象静态方法。 static 和 abstract不能连用

1. 接口中的成员变量默认都是public、static、final类型的,必须被显式初始化
2. 接口中的方法默认都是public、abstract类型的。
回复 使用道具 举报
关于方法覆写:
1. 方法的参数签名和返回值类型必须相同,访问控制修饰符可以不同,但是子类方法不能缩小父类方法的访问权限。
2. 子类方法抛出的异常必须和父类方法抛出的异常相同,或者是父类方法抛出的异常类的子类。
3. 父类的静态方法是不能被子类覆盖为非静态方法。
父类的非静态方法不能被子类覆盖为静态方法。
4. 子类可以定义与父类的静态方法同名的静态方法,以便在子类中隐藏父类的静态方法。区别:运行时,JVM把静态方法和所属的类绑定,而把实例方法和所属的实例绑定。
5. 父类的私有方法不能被覆盖
6. 父类的非抽象方法可以被覆盖为抽象方法

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

回复 使用道具 举报
abstract不能与private,final,static一起用
回复 使用道具 举报
上面的兄弟说的默认修饰符没错
属性默认:public static final int x = 10;
方法默认:public abstract void show();


接口:其实定义的是一种规则,就是说,不管是什么类想去用接口中的方法,就要去实现接口里面的方法!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马