用一个接口来定义一个变量,是什么用法,哪位能给讲解一下,代码如下:接口public interface Happy {
void SayHappy();
}
类
public class People implements Happy {
@Override
public void SayHappy() {
// TODO Auto-generated method stub
System.out.println("我很快乐!");
}
}
测试类 public class Test3 {
public static void main(String[] args) { Happy happy1 = new People();
People happy2 = new People(); happy1.SayHappy(); happy2.SayHappy(); }
}请问这 两个 对象 实例 happy1和happy2 有什么区别谢谢大家
void SayHappy();
}
类
public class People implements Happy {
@Override
public void SayHappy() {
// TODO Auto-generated method stub
System.out.println("我很快乐!");
}
}
测试类 public class Test3 {
public static void main(String[] args) { Happy happy1 = new People();
People happy2 = new People(); happy1.SayHappy(); happy2.SayHappy(); }
}请问这 两个 对象 实例 happy1和happy2 有什么区别谢谢大家
如果你再有另外一个类也实现happy这个接口,当你需要对这个类以及之前实现的类(people)进行处理的时候(分别去调用他们的sayhello方法),假如你写一个工具类来完成这个跳板,你需要把这个对象传给工具类,另外一个对象也要传,但是工具类中如果你接收的参数对象是已经限定的实体类,那你需要写两个方法,但是有时候我们并不在乎他传进来的是那个对象,我只是要调用他的sayhello方法,这个时候你接收的对象就可以是一个接口,只要这个类实现了这个接口,都可以用来当做参数传递。你这样自己写是看不出来很大的好处,只有你去调用别人的方法时,你会看到他们接收的参数,很多都是接口对象,但这个对象并不是接口,只是实现了这个接口的一个对象。