面向对象深入_02多继承与接口

接口

定义

接口是比“抽象类”更"抽象"的“抽象类”——更加规范的对子类进行约束

注意

  1. 全面地专业地实现——规范和具体实现的分离
  2. 从接口的实现者角度看,接口定义了可以向外部提供的服务
  3. 从接口的调用者角度看,接口定义了实现者能提供那些服务
  4. 接口是两个模块之间的通信标准。且接口和实现类不是父子关系,是实现规则的关系

区别

  1. 普通类:具体实现
  2. 抽象类:具体实现,规范(抽象方法)
  3. 接口:规范,可以实现多继承

定义接口的详细说明

  1. 访问修饰符:只能是public或默认
  2. 接口名:和类名采用相同命名机制
  3. extends:接口可以多继承
  4. 常量:接口中的属性只能是常量——写与不写都是public static final修饰
  5. 方法:接口中的方法只能是——public abstract

接口的要点

  1. 子类通过implements来实现接口中的规范
  2. 接口不能创建实例,但是可用于声明引用变量类型
  3. 一个类实现了接口,必须实现接口中所有的方法,并且这些方法只能是public的
  4. JDK1.7之前,接口中只能包含静态常量、抽象方法,不能有普通属性、构造方法、普通方法
package text;
public interface text{
		/*public static final */ int  sum=100;
		//没有必要写abstract,因为接口中的所有方法都是抽象方法
		/*public  abstract*/ void  test();
}
class  MyClass  implements text  {
	public void test() {
		System.out.println(sum); 
		System.out.println("打印");
	}
}
public class text01{
public static void main(String[] args) {
	MyClass d=new MyClass();
	d.test();
	text dd=new MyClass();//可以把子类对象赋给父类类型,当成text的对象
	}
}

接口的多继承

package text;

public class text01 {
}
interface A {
    void testa();
}
interface B {
    void testb();
}
/**接口可以多继承:接口C继承接口A和B*/
interface C extends A, B {
    void testc();
}
//C接口包含了A和B的方法
//类没有多继承,接口有多继承
class Test  implements C {

	public void testa() {	
	}
	public void testb() {
	}
	public void testc() {	
	}
}

面向接口编程

面向接口编程是面向对象编程的一部分
原因:降低程序模块间的耦合性,提高整个系统的可扩展性和可维护性——接口就是规范

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值