1.接口是将规则与实现分离,规则不需要进行具体的实现
    2.接口中的方法必须是抽象方法
    3.格式:interface 接口名 {
    public 返回值类型 方法名(参数列表);
    }
    4.实现:class 类名 implements 接口名 {
    重写方法
    }
    示例:

    1. package com.bxw.demo.interface_;
    2. public class InterfaceTest {
    3. public static void main(String[] args) {
    4. // new Inter(); 接口是无法直接创建对象的
    5. // 通过完全重写方法的实现类创建对象
    6. InterTo2 interTo2 = new InterTo2();
    7. interTo2.print_();
    8. interTo2.print2_();
    9. interTo2.print3_();
    10. }
    11. }
    12. // 创建一个接口
    13. interface Inter {
    14. int age = 10;
    15. String name = "小白";
    16. // int age; 接口中不可以定义成员变量
    17. // 创建抽象方法
    18. public void print_(); // 接口中的方法都是默认为抽象方法,因此不需要使用abstract修饰
    19. public void print2_();
    20. public void print3_();
    21. }
    22. // 创建一个接口的实现类(不完全重写)
    23. abstract class InterTo implements Inter{
    24. // 重写方法
    25. @Override
    26. public void print_() {
    27. }
    28. @Override
    29. public void print2_() {
    30. }
    31. }
    32. // 创建一个接口的实现类(完全重写)
    33. class InterTo2 implements Inter{
    34. // 重写方法
    35. @Override
    36. public void print_() {
    37. System.out.println("重写");
    38. }
    39. @Override
    40. public void print2_() {
    41. System.out.println("重写2");
    42. }
    43. @Override
    44. public void print3_() {
    45. System.out.println("重写3");
    46. }
    47. }

    总结:
    (1)接口无法直接创建对象
    (2)接口中可以定义属性,当时这些属性必须初始化,而且都是默认public static final 格式的
    (3)接口的实现类如果不能完全重写其所有方法,那么这个实现类将被定义为抽象类
    (4)接口中方法默认是抽象方法,不许要abstract修饰