java接口有什么用?知道接口是很重要的东西,就是体会不到作用在哪里。 10
interfaceanimal{publicvoideat();}classdogimplementsanimal{@Overridepublicvoideat(){Sy...
interface animal{
public void eat();
}
class dog implements animal{
@Override
public void eat() {
System.out.println("dog eat");
}
}
class cat implements animal{
@Override
public void eat() {
System.out.println("cat eat");
}
}
public class TestInterFace {
public static void main(String[] args){
animal dog = new dog();
animal cat = new cat();
dog.eat();
cat.eat();
}
}
和
class dog {
public void eat() {
System.out.println("dog eat");
}
}
class cat {
public void eat() {
System.out.println("cat eat");
}
}
public class TestInterFace {
public static void main(String[] args){
dog dog = new dog();
cat cat = new cat();
dog.eat();
cat.eat();
}
}
效果是一样的,那我何必要定义一个接口并继承他呢? 展开
public void eat();
}
class dog implements animal{
@Override
public void eat() {
System.out.println("dog eat");
}
}
class cat implements animal{
@Override
public void eat() {
System.out.println("cat eat");
}
}
public class TestInterFace {
public static void main(String[] args){
animal dog = new dog();
animal cat = new cat();
dog.eat();
cat.eat();
}
}
和
class dog {
public void eat() {
System.out.println("dog eat");
}
}
class cat {
public void eat() {
System.out.println("cat eat");
}
}
public class TestInterFace {
public static void main(String[] args){
dog dog = new dog();
cat cat = new cat();
dog.eat();
cat.eat();
}
}
效果是一样的,那我何必要定义一个接口并继承他呢? 展开
3个回答
展开全部
您好,接口的最主要的作用是达到统一访问,就是在创建对象的时候用接口创建,【接口名】 【对象名】=new 【实现接口的类】,这样你像用哪个类的对象就可以new哪个对象了,不需要改原来的代码,就和你的USB接口一样,插什么读什么,就是这个原理。就像你问的,都有个method1的方法,如果我用接口,我上面就可以one.method1();是吧?那样我new a();就是用a的方法,new b()就是用b的方法
这个就叫统一访问,因为你实现这个接口的类的方法名相同,但是实现内容不同
我用接口来定义对象不就可以做到统一访问了吗?接口主要针对多个类实现它来说的,要是只有一个类当然可以不用接口了.你这样想,我做一个USB接口,有个read()抽象方法,然后mp3类实现,U盘类实现,移动硬盘类实现,这样我用的时候用USB a=new 【类名】;这样a.read();要是我类名里写U盘,就读U盘,写mp3就读mp3,而这个名字可以从属性文件里读,你写哪个就用哪个。
这个就叫统一访问,因为你实现这个接口的类的方法名相同,但是实现内容不同
我用接口来定义对象不就可以做到统一访问了吗?接口主要针对多个类实现它来说的,要是只有一个类当然可以不用接口了.你这样想,我做一个USB接口,有个read()抽象方法,然后mp3类实现,U盘类实现,移动硬盘类实现,这样我用的时候用USB a=new 【类名】;这样a.read();要是我类名里写U盘,就读U盘,写mp3就读mp3,而这个名字可以从属性文件里读,你写哪个就用哪个。
追问
那我也可以 MP3 a = new mp3(); a.read(); usb b = new usb(); b.read();不一样么?
展开全部
接口是java多态的体现, 接口的存在目的在于程序的修改以及扩展
而且java中很多类库都是接口存在, 你现在学的少 , 慢慢就体会到了。
在以后真正的项目应用中,dao层,也就是所谓的接口层,在框架的应用中
也起到了至关重要的作用。
而且java中很多类库都是接口存在, 你现在学的少 , 慢慢就体会到了。
在以后真正的项目应用中,dao层,也就是所谓的接口层,在框架的应用中
也起到了至关重要的作用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
接口是java多态的表现,可以达到统一调用的效果。
只需要写 Animal animal = new 想要的实现类();
就可以调用到想要的方法。
而不用分别去创建对象。
对于楼主举的例子,使用接口是遵循java抽象,面向对象的思想的。无论是什么动物,都有eat的属性,为何不统一抽象化呢?
只需要写 Animal animal = new 想要的实现类();
就可以调用到想要的方法。
而不用分别去创建对象。
对于楼主举的例子,使用接口是遵循java抽象,面向对象的思想的。无论是什么动物,都有eat的属性,为何不统一抽象化呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |