如何理解java中的接口啊!!
虚类还是可以理解的,起码c++有基础,可是这个接口一看就晕了,书上还把虚类和接口放在一块讲,是在是看不懂。
求大神给个解释,通俗易懂的
------解决方案--------------------关于继承,假如一个房间里面还有一个房间,就可以说里面的房间继承了外面的房间,一个房间总不可能是同时在2个不同的房间里面吧,就像一个儿子一定只会有一个(亲身的)爹一样,这个就解释了一个类只能够继承一个父类
关于接口,我是这样理解的,讨论一下,互相学习了。就像有一个房间(接口的实现类),你要去访问这个房间的数据,那就必须要经过走廊(接口)吧,这是个走廊,不是一个房间,里面是不能放数据的,所以说接口里面不能有具体的方法实现,但是他确可以连接很多个房间,也就是说一个房间可以理解多条走廊。这个就解释了一个类可以同时继承多个接口
这就很好的解释了:为什么一个类只能够继承一个父类,但是可以继承多个接口
------解决方案--------------------接口就是。
你有一些类似的功能。 比如说对数据库表的增删改。
接口就是把这些功能(方法)集合在一起,但是不实现!(没有方法主体)
当你实现接口的时候,就需要具体去实现接口里面的每一个方法。
------解决方案--------------------接口就是制定一种标准,只要符合了它的标准的东西都属于他,里面全是静态的常量,和抽象方法
------解决方案--------------------接口 -- 我感觉就是一个类的基础模板 ,也就是说 ,如果多个类都需要A() 、B()等操作 ,那么就把A()、B()操作定义到接口中,然后再在实现类中实现 ,那么所有实现接口的实现类都可以通用的调用; 比如:
ITest.java
public interface ITest{
public void A() ;
}
TestA.java
public class TestA implements ITest{
public void A(){
System.out.println("-----TestA-----")
}
}
TestB.java
public class TestB implements ITest{
public void A(){
System.out.println("-----TestB-----")
}
}
那么 写个测试类 :
Test.java
public class Test{
public static void main(String []args){
ITest it1 = new TestA() ;
ITest it2 = new TestB() ;
it1.A() ; // -----TestA-----
it2.A() ; // -----TestB-----
//系统会自动识别it1是TestA的实例 ,而it2是TestB的实例
}
}
凑合着看看哦