接口:

1.接口的概念

与之前学习过的抽象类一样,接口(Interface)在ajva中也是一种抽象类型,

接口中的内容是抽象形成的需要实现的功能,接口更像是一种规则和一套标准。

2.接口格式

interface 接口名{代码。。。}

3.接口的特点

1.通过interface关键字来定义

2.通过implemente让子类来实现

3接口中的方法全部都是抽象方法(JAVA8)

4.可以把接口理解成一个特殊的抽象类(但接口不是类!!!)

5.类描述的是一类事物的属性和方法,接口则是包含实现类要实现的方法

6.接口突破了java单继承的局限性

7.接口和类之间可以多实现,接口与接口之间可以多继承。

8.接口是对外暴露的规则,是一套开发规范。

9.接口提高了程序的功能拓展,降低了耦合性。

练习:

/*本类用于创建接口测试*/
/*1.通过interfact关键字来定义接口*/
public interface Inter{
/*接口中可以有普通方法吗?----不可以!!!*/
public void eat(){
}
/*接口中可以有抽象方法吗?----可以,而且接口中的方法全部都是抽象方法!!!*/
public abstract void eat();
public abstract void play();
}
/*本类用作Inter接口的实现类,用于实现Inter接口中定义的方法*/
/*1.通过interface关键字来定义接口
*接口实现类通过implement关键字与接口建立实现关系
*实现方案有两种
* 方案一:抽象子实现类,可以不实现/实现部分接口中的抽象方法
//abstract public class InterImpl implements Inter{}
*方案二:普通子实现类,实现接口中的所有抽象方法*/
public class InterImpl implements Inter{
/*2.接口中可以有普通方法吗?*/
@Override
public void eat(){p("吃火锅")}
@Override 
public void play(){p("玩代码")}
}
/*本类用作接口功能的测试类*/
public class InterTest{
main{
/**1.j接口可以创建对象吗?---不可以!!!*/
//Inter i = new Inter();
//创建多态对象进行测试
Inter i = new InterImpl();
//通过多态对象进行调用
i.eat();
i.play();
/**我们一般创建的都是接口实现类的对象*/
//创建接口实现类对象
InterImpl i2 = new InterImpl();
i2.eat();
i2.play();
}
}
==================================================================
/*本类进一步测试接口的使用*/
public class TestUserInter{
main{
/*如果一个类没有明确指定父类,那么他的父类就是顶级父类Object*/
/**既然接口实现类实现了接口,接口中有没有构造方法
*那接口实现类构造方法中的第一行super()调用的是谁的构造方法
*答:使用的是默认继承的顶级父类Object中的无参构造*/
Inter2Impl i = new Inter2Impl();
}
}
//1.创建接口
interface Inter2{
/**接口中有构造方法吗?---没有!*/
//2.测试接口是否包含构造方法
//public Inter2(){}
}
//3.创建接口的实现类
class Inter2Impl implements Inter2{
//4.手动提供本类的无参构造
public Inter2Impl(){
super();//这个不是接口的
p("我是实现类的无参构造");
}
//object对象(顶级父类)
}