关于java中接口的认识(不知理解的是否正确)

05-09-05 TAxxjszxlkjf
java中的类类似于c中的指针唯一的区别是你不能像c中那样去操作它,new运算符在运行期间为对象分配内存,因此运行一次new,就分配一块内存区域。假如有两个类A和B,

public class A {

method1();{}

method2();{}

method3();{}

method4();{}

}

类B只使用method1()则

public class B {

A a=new A();

a.method1();

}

因此运行一次new,就开辟了一块内存区域(即使不使用method2() method3() method4()也开辟与之对应的内存区域),所以存在耦合

如果有了接口就不这样了,可以根据接口灵活调用类中的方法,降低了耦合。

我觉得这才是java中的接口产生的最根本的原因和最根本的作用

TAxxjszxlkjf
2005-09-12 11:05
怎么没有人回复呀

banq
2005-09-13 11:59
接口是一个纯设计概念,在实际中如开内存没有用处,因为你不能直接new一个接口实例,所以谈不上内存分配问题。

所以你理解接口方向错误了。

wdman
2005-10-06 17:16
通过接口来访问实现了这个接口的类。

接口目的是将功能抽象出来,实现功能的定义与实现的分离。

blueoxygen
2005-10-07 10:33
我也是差点看晕,因为开始讲到了java分配内存的机制了,最后又说到接口。接口与inner类真正的彻底的可以优雅的实现c++中的多继承。我们都知道继承的层次太深,太复杂很容易出问题,用接口就不会。而且很多遗留系统或者开发需要,你必须已经要继承某些类了此时还要写出其他一些通用方法,接口能够帮你。另外你看看jdk源码,大多数都面向了接口编程,JDBC就是最好的例子,解耦才是接口的目的,而不是效率。

猜你喜欢
2Go 1 2 下一页