抽闲类和接口的区别
1.一个是用class关键字一个是用interface关键字来声明的
2.抽象类中可以有抽象方法也可以没有抽象方法同时也可以有常量或变量,而接口中只能有抽象方法和常量
3.抽象类可以有构造函数,接口中却不可以。
我们通常定义父类时,凡是父类中必须要被重写的方法我们都会把方法给抽象化,而方法变成抽象的了这个类也必须是抽象的。否则编译出错。
java并没有C++里面的多继承机制,因为java里面一个类是不能继承多个类的,因为存在安全的隐患。如:假设一个类如果有多个父类,那么多个父类中如果有相同的方法,子类对象在调用时,将不能确定到底是用哪一个。
但是java却用另一种体现形式来完成表示,就是接口。因为我们知道,一个类是可以实现多个接口的。
一个类实现多个接口了就没有上面的那种安全隐患了,因为我知道接口的方法都是抽象的,类如果实现接口必须要覆写接口中的抽象方法
在这里假设:多个接口中存在相同的方法,实现类在就不能覆写,因为我们知道一个类中不能出现一模一样的方法。 |