| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 890 人关注过本帖
标题:抽象类怎么实现接口定义的部分方法呀?
只看楼主 加入收藏
baby69yy2000
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2007-4-5
收藏
 问题点数:0 回复次数:4 
抽象类怎么实现接口定义的部分方法呀?

interface Runner{
int ID = 1;
void run();
}

interface Animal extends Runner{
void breathe();
}

abstract class LandAnimal implements Animal{
public void breathe(){
System.out.println("LandAnimal");
}
}

public class TestInterface_01 {
public static void main(String[] args) {
LandAnimal L = new LandAnimal();
L.breathe();
}
}
抽象类怎么实现接口定义的部分方法呀?
我这个编译不能通过呢?那错了呢?

[此贴子已经被作者于2007-10-26 0:07:47编辑过]

搜索更多相关主题的帖子: 接口 定义 
2007-10-26 00:07
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
抽象类是不能直接实例化的,你能new的类,是不允许是抽象的

像你的LandAnimal要想能实例化的话,你还必须实现run方法,它是定义在Runner里面的,然后再把它前面的abstract去掉

可惜不是你,陪我到最后
2007-10-26 09:03
HCL
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-6-13
收藏
得分:0 

那像楼主这种Animal接口继承了Runner接口,如果有个类(不加abstract关键字)实现Animal接口,

那是不是笔下同时实现其父接口的方法,要不该类也强制被看作抽象类?

2007-10-26 10:15
baby69yy2000
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2007-4-5
收藏
得分:0 
谢谢,千里冰封大兄弟!
还有个问题呀
为什么我的"interface Runner" 前面不能加"public"呢?一加就出错呢?
我看有的书上,interface前面加public了呀

2007-10-26 13:38
baby69yy2000
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2007-4-5
收藏
得分:0 

interface Runner{
int ID = 1;
void run();

}

interface Animal extends Runner{
void swim();
}

abstract class LandAnimal implements Animal{
public abstract void run();
//public abstract void swim();

}
class Cat extends LandAnimal{
public void run() {System.out.println("陆地动物会跑");}
public void swim() {System.out.println("陆地动物会游泳的少");}
}

public class TestInterface_01 {
public static void main(String[] args) {
LandAnimal c = new Cat();
c.run();
}
}
这样用"abstract"应该对了吧.

[此贴子已经被作者于2007-10-26 14:48:23编辑过]


2007-10-26 14:19
快速回复:抽象类怎么实现接口定义的部分方法呀?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013448 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved