java里接口和实现类什么关系?

java里接口和实现类什么关系?,第1张

你可以把接口看成是一种职业,比如说教师

你把实现类看成是小学教师,或是中学教师。没羡

无枯虚拍论是小学教师还是中学教师,他们都是教师,都‘继承’了教师。

你对外誉乎封装时用接口,就好比是让你选择行业,你只能选择教师,而一般不会在诸多行业中还列举出小学,中学等等。

而实现类也表现出了多态性,因为原本的只有教师这一个职业,然后因为教授学生的不同,就出现了小学教师,中学教师等等。

不知道这个例子是否恰当~~

public class Demo {

public static void main(String[] args) {

DemoImpl demoImpl = new DemoImpl()

demoImpl.f(1)

demoImpl.g(2, 3)

demoImpl.h(4)

}

}

interface DemoInterface {

public abstract void f(int x)

public abstract void g(int x, int y)

public abstract double h(double x)

}

class DemoImpl implements DemoInterface {

@Override

public void f(int x) {

System.out.println("method f in DemoImpl, args: x=" + x)

}

@Override

public void g(int x, int y) {

System.out.println("蚂搏method g in DemoImpl, args: "运物樱 + "x="旁丛 + x + ", y=" + y)

}

@Override

public double h(double x) {

System.out.println("method h in DemoImpl, args: x=" + x)

return 0

}

}

具体实现是在类实现接口的时候由类来实现的,接口中只是包含方法的定义,在类中要把需要则袭实现的接口的所有方法都实现。

如:

interface IMyInterface

{

void func()//在接口中只是声明,没有实现,也就是没有代码

}

在类中要有这丛含样的方法:

void func()

{

//DoSomething 这个就是具体实现

}

抽象类就是用来做基类的,渗盯笑他的派生类实现抽象类的方法,这个和接口类似,但是抽象类只能单继承,而接口可以多继承。

接口只是声明的东西,实际并不分配内存,当在类中实现了接口定义的方法后才真正编译,占用内存。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12464414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存