接口

什么是接口

接口中的所有的方法都是抽象方法,即没有方法体,接口方法
  • 接口中可以放属性,但属性默认是public static final 的
  • 接口不适合存储数据,更适合做功能
  • 而类适合存储数据

接口的特点

  1. 接口中的方法和属性都是共有的
  2. 接口是不能实例化对象的
  3. 必须由子类时间接口,且子类可以实现多个接口,解决java的单继承问题
  4. 多个接口用逗号间隔
  5. 子类实现接口的关键字implements
  6. 直到子类把接口中的所有的方法都实现了,才可以实例化子类对象,否则子类就是抽象类
  7. 接口中可以有属性,但默认的是public static final,不适合存储数据
  8. 接口中可以有方法,方法必须都是没有方法体的,且是公有的,public可以省略
  9. 定义接口的关键字interface
  10. 接口不能实现接口,但接口可以继承接口,而且还可以多继承

即:
接口extends接口1,接口2…

  1. 接口中没有构造方法

结论

  1. 接口更适合放置方法,而不适合存储数据
  2. 类适合存储数据,包含抽象类和普通类
  3. 接口就是对子类功能的规范,子类必须全部实现接口中的额方法

接口的案例

//Person接口
public interface Person{
	study();
	eat();
}
//CommonPerson抽象类
public abstract class CommonPerson implements Person{
		String name;
		int age;
		//getters and setters方法
		public abstract void study();
		public abstract void eat();
		public void sleep(){
		System.out.println("CommonPerson.sleep()");
	}
}

//Student类
public class Student extends CommonPerson {
	private String stuNo;
	//getters and setters
	public void study(){
		System.out.println("Student.study()");
	}  
	public void eat(){
		System.out.println("Student.eat()");
	}
	public void homework(){
		System.out.println("Student.homework()");
	}
}

//Teacher类
public class Teacher extends CommonPerson{
	private int salary;
	//getter and setter
	public void study(){
		System.out.println("Teacher.study()");
	}
	public void eat(){
		System.out.println("Teacher.eat()");
	}
}

为什么要使用接口

  1. 用接口可以限定子类必须实现接口所规定的所有方法,以保证项目功能的完整性
  2. 用接口实现多态,有接口就一定有继承,而多态是以继承为基础的

继承是以封装为基础的

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值