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

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中的接口产生的最根本的原因和最根本的作用

怎么没有人回复呀

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

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

通过接口来访问实现了这个接口的类。
接口目的是将功能抽象出来,实现功能的定义与实现的分离。

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

java接口的引入不是为了减少内存的消耗,最主要的一点就是b]降低耦合 至于C++中的多继承它们类与类之间的关系太“亲密”所以就降低了系统的扩展性,在做项目中这可是大忌。其次就是接口比多继承更具合理性,易懂。