知识点
接口
1、 如何定义一个接口
public class 类名
{
}
.java --> .class
public interface 接口名称{
// 接口内容
}
.java --> class
2、 接口内容
接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么 接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法 (JDK 9)。
java7(教材以这个版本为例,但现在没啥人用了)
1.常量
2.(抽象)方法
java8
增加了:
3.默认方法
4.静态方法
java9
增加了:
5.私有方法
3. 使用接口的步骤:
1.定义一个接口
2.实现一个接口,并且重写里面所有的抽象方法.
3.创建一个实现类
课堂实例:
package com.hg.demo01;
public class MyInterfaceImpl implements MyInterface {
@Override
public void methodA() {
System.out.println("实现抽象方法A");
}
@Override
public void methodB() {
System.out.println("实现抽象方法B");
}
@Override
public void methodC() {
System.out.println("实现抽象方法C");
}
@Override
public void methodD() {
System.out.println("实现抽象方法D");
}
}
下方是创建的一个接口
package com.hg.demo01;
/*
* 在任何java版本中,接口都是抽象方法
*
* public abstract 返回值类型 方法名称(参数列表)
*
*
*
* 注意事项:
* 1.抽象方法 修饰字必须是 public abstract
* 2.关键字可以省略(PS:初学不建议省略)
*
*/
public interface MyInterface {
public abstract void methodA();
abstract void methodB();
public void methodC();
void methodD();
}
package com.hg.demo01;
/*
* 1、 如何定义一个接口
*
*
* public class 类名
* {
*
* }
* .java --> .class
*
*
* public interface 接口名称{
* 接口内容
* }
* .java --> class
*
*
* 2、 接口内容
* java7(教材以这个版本为例,但现在没啥人用了)
* 1.常量
* 2.(抽象)方法
*
*
* java8
* 增加了
* 3.默认方法
* 4.静态方法
*
*
* java9
* 增加了
* 5.私有方法
*
*
*
* 使用接口的步骤:
* 1. 定义一个接口
*
* 2.实现一个接口,并且重写里面所有的抽象方法
*
* 3.创建一个实现类
*
*/
public class Demo01Interface {
public static void main(String[] args) {
// 错误写法:不能直接对接口进行new 实例化
// MyInterface myinterface = new MyInterface();
MyInterfaceImpl impl = new MyInterfaceImpl();
impl.methodA();
impl.methodB();
impl.methodC();
impl.methodD();
}
}
package com.hg.demo02;
public class MyInterfaceDefaultB implements MyInterfaceDefault {
@Override
public void usb2() {
System.out.println("我是移动硬盘的USB2.0");
}
}
package com.hg.demo02;
public class MyInterfaceDefaultA implements MyInterfaceDefault {
@Override
public void usb2() {
System.out.println("我是笔记本电脑的 USB2.0");
}
}
下方为创建一个接口
package com.hg.demo02;
public interface MyInterfaceDefault {
public abstract void usb2();
// 将usb2.0 升级到 usb3.0
public default void usb3() {
System.out.println("这是USB3.0新增的功能");
}
}
package com.hg.demo02;
public class Demo02Interface {
public static void main(String[] args) {
MyInterfaceDefaultA impla = new MyInterfaceDefaultA();
impla.usb2();
impla.usb3();
System.out.println("==============");
MyInterfaceDefaultB implb = new MyInterfaceDefaultB();
implb.usb2();
implb.usb3();
}
}