1.接口是将规则与实现分离,规则不需要进行具体的实现
2.接口中的方法必须是抽象方法
3.格式:interface 接口名 {
public 返回值类型 方法名(参数列表);
}
4.实现:class 类名 implements 接口名 {
重写方法
}
示例:
package com.bxw.demo.interface_;
public class InterfaceTest {
public static void main(String[] args) {
// new Inter(); 接口是无法直接创建对象的
// 通过完全重写方法的实现类创建对象
InterTo2 interTo2 = new InterTo2();
interTo2.print_();
interTo2.print2_();
interTo2.print3_();
}
}
// 创建一个接口
interface Inter {
int age = 10;
String name = "小白";
// int age; 接口中不可以定义成员变量
// 创建抽象方法
public void print_(); // 接口中的方法都是默认为抽象方法,因此不需要使用abstract修饰
public void print2_();
public void print3_();
}
// 创建一个接口的实现类(不完全重写)
abstract class InterTo implements Inter{
// 重写方法
@Override
public void print_() {
}
@Override
public void print2_() {
}
}
// 创建一个接口的实现类(完全重写)
class InterTo2 implements Inter{
// 重写方法
@Override
public void print_() {
System.out.println("重写");
}
@Override
public void print2_() {
System.out.println("重写2");
}
@Override
public void print3_() {
System.out.println("重写3");
}
}
总结:
(1)接口无法直接创建对象
(2)接口中可以定义属性,当时这些属性必须初始化,而且都是默认public static final 格式的
(3)接口的实现类如果不能完全重写其所有方法,那么这个实现类将被定义为抽象类
(4)接口中方法默认是抽象方法,不许要abstract修饰