请问如何在一个类中实现两个接口,两个接口具有相同的方法?
这是我自己写的能编译运行!
interface cat{
void singer();
};
interface dog{
void singer();
}
public class interface1 implements cat,dog{
public void singer(){
System.out.println(" 唱歌!");
}
public static void main(String[] args){
interface1 t=new interface1();
t.singer();
}
}
若要分别实现dog中的singer的方法,不知如何实现,望指教!
这是我自己写的能编译运行!
interface cat{
void singer();
};
interface dog{
void singer();
}
public class interface1 implements cat,dog{
public void singer(){
System.out.println(" 唱歌!");
}
public static void main(String[] args){
interface1 t=new interface1();
t.singer();
}
}
若要分别实现dog中的singer的方法,不知如何实现,望指教!
cat c=new interface1();
dog d=new interface1();
c.singer();
} public void singer(){
if(c instanceof cat){
System.out.println(" 猫!");
}else{
System.out.println(" 狗!");
}
}多态的运用
cat c=new interface1();
dog d=new interface1();
c.singer();
}
1楼的
public void singer(){
if(c instanceof cat){
System.out.println(" 猫!");
}else{
System.out.println(" 狗!");
}
也有错误啊。
add
public boolean add(E e)将指定元素添加到此列表的结尾。
此方法等效于 addLast(E)。
指定者:
接口 Collection<E> 中的 add
指定者:
接口 Deque<E> 中的 add
指定者:
接口 List<E> 中的 add
指定者:
接口 Queue<E> 中的 add
覆盖:
类 AbstractList<E> 中的 add
参数:
e - 要添加到此列表的元素
返回:
true(根据 Collection.add(E) 的规定)
public void singer();
}那么猫的接口就是这样的public class Cat implements Behavour {
public void singer(){
//猫叫
}
//**其他的方法
}public class Dog implements Behavour {
public void singer(){
//狗吠
}
//其他的方法
}
public class Test{
Cat cat =new Cat();
cat.singer();//这里猫叫. Dog dog =new Dog();
dog.singer();//这是是狗吠.
}
这样做的好处是,不管是猫叫还是狗吠都不需要更改变猫.或狗的类方法.
靠你自己判断的不叫多态 ok?
// 为了方便,起了一些垃圾名字。
// 如果定义的接口中有相同的方法,最好再定义一个接口单独存储。
interface Animal{
void singer();
}
interface Cat extends Animal {
void shangshu();
//void singer();
}
interface Dog extends Animal {
void kengutou();
//void singer();
}
// 实现多接口
class Guaiwu implements Cat, Dog {
public void singer(){
System.out.println("怪物叫唤");
} public void shangshu(){
System.out.println("怪物上树");
} public void kengutou(){
System.out.println("怪物啃骨头");
}
}
// 实现单接口
class Catc implements Cat {
public void singer(){
System.out.println("猫叫唤");
} public void shangshu(){
System.out.println("猫上树");
}
}
interface cat{
void singer();
};
interface dog{
void singer();
}
public class interface1 implements cat,dog{
public void singer(){
System.out.println(" 唱歌!");
}
}
public class interface2 implements cat,dog{
public void singer(){
System.out.println(" 唱国歌~~~!");
}
}
public class Test {
public static void main(String[] args){
cat t1 = new interface1();
dog t2 = new interface2();
t1.singer();
t2.singer();
}}