浅谈java中的接口

 

经得起诱惑,赖得住寂寞。
——献给低调的自己
 
  
(语法很枯燥,但是必须得弄懂)
 接口为我们提供了一种用来组织和控制系统中的对象的机制。因此interface不仅仅单纯只是一个极度抽象的类,更可以通过创建一个能够被向上转型为多种基类型的类,来实现多重继承。
 
1.接口更纯粹,只提供形式,未提供任何具体实现,接口就像是用来建立类与类之间的“协议”。一旦让某个类遵循某个(组)特定接口,需要使用implements关键字,当这个类要实现一个接口里的(默认public,static)方法时,方法在继承的过程中,其实现接口类中的方法必须被定义为public,并且必须被实例化,否则当访问权限降低时(声明为低于public权限的修饰符时),编译器是会报错得。
 
2.接口也有属性和方法,不过接口的属性是静态的最终类,是常量,且必须被赋初值,接口中不能有非抽象方法,并且可以有多个父接口,,但是接口不属于继承结构,它与实际继承关系无关,因此无关的类也可以实现同一个接口。
 
3.组合多个类的接口以实现多重继承,因为接口是根本没有具体实现的,即没有任何与接口相关的存储。注意不要在不同接口中使用相同的方法名,以免混乱。
class hero extends actioncharacter implements canfight ,canswim,,canfly
{
Public void 1(…){…};
….
}
4.接口可以由多个其他接口产生,那么在创建一个新接口时,可以extends多个基类接口。
interface monster{…}
interface dangerousmonster extends monster(…)
interface leth{…}
interface zoob extends dangerousmonster,leth{…}
5.数组实现多个动态绑定。
interface instrument{…}
class wind implements instrument{…}
class brass implements instrument{…}
 
class pional extends wind{…}
 
class stringed implements instrument{…}
instrument[] ch={
new wind();
new brass();
new pional();
new stringed();
}
 
 
 
6.因此,如果要创建不带任何方法定义和成员变量的基类,那么就应该选择接口而非抽象类,因为接口除了为我们带来使用抽象类的好处,还有自身的好处。

本文出自 “java” 博客,转载请与作者联系!

你可能感兴趣的:(java,继承,接口,抽象)