接口
一、定义:
是一个比较特殊的抽象类。
二、关键字 interface
三、接口格式的特点
1,接口中常见定义:常量和抽象方法;没有构造器和初始化块。
2,接口中的成员都有固定的修饰符
常量:public static final
方法:public abstract
3,接口中的成员都是public
4,接口无法创建对象,因为有抽象方法
四、接口和类的关系——实现,关键字implements
五、接口可以被类多实现。
六、接口可以支持多继承。
七,接口的特点
a,是对外暴露的规则;
b,是程序的扩展功能;
c,可以用来多实现;
d,类可以继承一个类的同时,实现多个接口;
e,接口与接口之间有多继承关系。
八,基本功能在类中定义,而扩展功能在接口中定义。
代码例子如下:
- abstract class Student
- {
- public abstract void study();
-
- Student(String name)
- {
- System.out.println("My name is "+name);
- }
-
- public void sleep()
- {
- System.out.println("I need sleep!");
- }
- }
- interface Smoke
- {
- public abstract void smoking();
- }
- interface Drink
- {
- public abstract void drinking();
- }
- class Wayne extends Student
- {
- Wayne(String nameStr)
- {
- super(nameStr);
- }
- public void study()
- {
- System.out.println("good good study,day day up!");
- }
- }
- class Bruce extends Student implements Smoke
- {
- Bruce(String nameStr)
- {
- super(nameStr);
- }
- public void study()
- {
- System.out.println("study so so!!");
- }
-
- public void smoking()
- {
- System.out.println("also smoking");
- }
- }
- class Anna extends Student implements Smoke,Drink
- {
- Anna(String nameStr)
- {
- super(nameStr);
- }
- public void study()
- {
- System.out.println("study not good!!");
- }
-
- public void smoking()
- {
- System.out.println("not only smoking");
- }
-
- public void drinking()
- {
- System.out.println("but also drinking");
- }
- }
- public class myInterface
- {
- public static void main(String[] args)
- {
- Wayne wayne = new Wayne("Wayne");
-
- wayne.study();
-
- Bruce bruce = new Bruce("Bruce");
- bruce.study();
- bruce.smoking();
-
- Anna anna = new Anna("Anna");
- anna.study();
- anna.smoking();
- anna.drinking();
- }
- }
复制代码 |
|