Home

韧桂

思考,总结

接口

  • 有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。
  • 接口(interface)是抽象方法和常量值的定义的集合。
  • 从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
  • 实现接口类:
    • class SubClass implements InterfaceA{ }
  • 一个类可以实现多个接口,接口也可以继承其它接口。
package ten;
/*
 * 接口(interface)  是与类并行的一个概念
 * 1.接口可以看做是一个特殊的抽象类。是常量与抽象方法的一个集合,不能包含变量、一般的方法。
 * 2.接口是没有构造器的。
 * 3.接口定义的就是一种功能。此功能可以被类所实现(implements)。
 * 比如:class CC extends DD implements AA
 * 4.实现接口的类,必须要重写其中的所有的抽象方法,方可实例化。若没有重写所有的抽象方法,则此类仍为一个抽象类
 * 5.类可以实现多个接口。----java 中的类的继承是单继承的
 * 6.接口与接口之间也是继承的关系,而且可以实现多继承
 * >5,6描述的是java中的继承的特点。
 * 
 */
public class TestInterface {
	public static void main(String[] args) {
		System.out.println(AA.I);
//		AA.I = 13;
	}
}

interface AA{
	//常量:所有的常量都用public static final修饰(public static final已省略)
	int I = 12;
	boolean FLAG = false;
//	int i;
	//抽象方法:所有的都用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,AA{
	void method4();
}

class GG implements JJ{

	@Override
	public void method3() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void method4() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void method1() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void method2() {
		// TODO Auto-generated method stub
	}
}

韧桂 2019-12-30