接口的讲解:
package com.yan.java1;
/*
* 接口(interface) 是与类并行的一个概念
* 1.接口可以看做是一个特殊的抽象类。是常量与抽象方法的一个集合,不能包含变量、一般的方法。
* 2.接口是没有构造器的。
* 3.接口定义的就是一种功能,此功能可以被类所实现(implements)
* 比如:class CC extends DD implements AA
* 4.实现接口的类,必须要重写其中的所有的抽象方法,方可实例化。若没有重写所有的抽象方法,则此类仍为一个抽象类
* 5.类可以实现多个接口。-----java 中的类的继承是单继承
* 6.接口与接口之前也是继承的关系,而且可以实现多继承
* 7.接口与具体的实现类之间也存在多态性
*
*/
public class TestInterface {
public static void main(String[] args) {
System.out.println(AA.I);
// AA.I = 13;
}
}
interface AA{
//常量:所有的常量都用public static final修饰
int I = 12;
boolean FLAG = false;
//抽象方法:所有的都用public abstract修饰
void method1();
void method2();
}
abstract class BB implements AA{
}
class DD{
}
interface MM{
void method3();
}
class CC extends DD implements AA,MM{
public void method1(){
}
public void method2(){
}
public void method3(){
}
}
//接口之间仍为继承关系
interface JJ extends MM{
void method4();
}
class GG implements JJ{
@Override
public void method3() {
// TODO Auto-generated method stub
}
@Override
public void method4() {
// TODO Auto-generated method stub
}
}
接口的简单应用(实现接口的匿名类的对象):
package com.yan.java;
//接口的应用
public class TestUSB {
public static void main(String[] args) {
Computer c = new Computer();
c.doWork(new Printer());
Flash f= new Flash();
c.doWork(f);
//实现接口的匿名类的对象
USB phone = new USB(){
@Override
public void start() {
System.out.println("手机开始工作");
}
@Override
public void stop() {
System.out.println("手机停止连接");
}
};
c.doWork(new USB(){
@Override
public void start() {
System.out.println("手机开始工作");
}
@Override
public void stop() {
System.out.println("手机停止连接");
}
});
}
}
class Computer {
public void doWork(USB usb){
usb.start();
System.out.println("。。。此设备开始操作。。。");
usb.stop();
}
}
interface USB{
public abstract void start();
public abstract void stop();
}
class Flash implements USB{
@Override
public void start() {
System.out.println("U盘开始工作");
}
@Override
public void stop() {
System.out.println("U停止工作");
}
}
class Printer implements USB{
@Override
public void start() {
System.out.println("打印机开始工作");
}
@Override
public void stop() {
System.out.println("打印机停止工作");
}
}