实现接口的一个小问题

信徒 2012-05-29 10:23:16
假设有一个接口为implementable。另外类implemented 实现了这个接口,接口interface2继承了该接口且添加了一个新的方法。
现在有一个类A,它继承了implemented,并且要实现interface2。它只需实现新的方法newMethod吗?是因为它的父类已经实现了其他两个方法method1和method2吗?可是这两个方法是其父类implemented的,类A只是能访问而已呀、、我有些糊涂了。像各位求教。

Interface implementable {
method1();
method2();
}

Class implemented implements implementable {
//implementation
}

Interface interface2 extends implementable {
newMethod();
}

Class A extends implemented implements interface2 {
//code
}
...全文
235 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dreamhyz 2012-05-29
  • 打赏
  • 举报
回复
已经拥有了3个方法。。但是newMethond需要实现
sdojqy1122 2012-05-29
  • 打赏
  • 举报
回复
类A只是能访问而已
=======Class A 是继承了父类implemented的方法。不只是访问这么简单,如果只是访问,你能这么写吗?
new A().method1();这已经说明method1()方法属于a 这个实例。
无名老僧 2012-05-29
  • 打赏
  • 举报
回复

interface a
{
void m1();
void m2();
}

interface b
{

void newm();
}


class aa implements a
{
public void m1(){
System.out.println("this is m1");
}

public void m2(){
System.out.println("this is m2");
}
}

public class testa extends aa implements b
{
public void newm(){
System.out.println("this is newm");
}

public static void main(String[] args){

testa a=new testa();
a.m1();
a.m2();
a.newm();
}
}
无名老僧 2012-05-29
  • 打赏
  • 举报
回复
测试如下:

interface a
{
void m1();
void m2();
}

interface b
{

void newm();
}


class aa implements a
{
public void m1(){
System.out.println("this is m1");
}

public void m2(){
System.out.println("this is m2");
}
}

public class testa extends aa implements b
{
public void newm(){
System.out.println("this is newm");
}

public static void main(String[] args){

testa a=new testa();
a.m1();
a.m2();
a.newm();
}
}


结果如下:
---------- JAVA ----------
this is m1
this is m2
this is newm

输出完成 (耗时 0 秒) - 正常终止

方法m1,m2是继承来的,只需要实现新方法newm就可以了
sffx123 2012-05-29
  • 打赏
  • 举报
回复
对父类里面实现了该接口的两个方法,子类继承了也相当于实现改接口了,子类只要再实现新接口的方法即可,如果你不想使用父类的实现方法,可以自己重写这两个方法,覆盖掉即可。
FFF9527 2012-05-29
  • 打赏
  • 举报
回复
class implemented必须实现implementable的两个方法,否则编译不过。

继承interface2的类必须实现三个方法,一个method1(),method2(),newMethod()。

Class A只需要实现一个方法newMethod(),因为父类中的implemented已经实现了 method1();method2();

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧