JAVA基础学习

1、接口概述接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成。这样将功能的定义与实现分离,优化了程序设计。请记住:一切事物均有功能,即一切事物均有接口。 2、接口定义接口定义时需要使用interface关键字定义格式:public interface .

1、接口概述
接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成。这样将功能的定义与实现分离,优化了程序设计。
请记住:一切事物均有功能,即一切事物均有接口。

2、接口定义
接口定义时需要使用interface关键字
定义格式:
public interface 接口名 {
抽象方法1;
抽象方法2;
抽象方法3;
}
使用interface代替了原来的class,其他步骤与定义类相同:
l 接口中的方法均为公共访问public的抽象方法
l 接口中无法定义普通的成员变量

3、接口中成员变量的定义
要求:必须定义为常量
固定格式:
Public static final 数据类型 变量名 = 值;

4、类与接口的关系
实现关系
定义类:实现接口,重写接口中的抽象方法
类实现接口,可以理解为继承

关键字 implements

称为接口的实现类
Class 类 implements 接口{

重写接口中的抽象方法

}

PS:只能创建接口的实现类的对象,不能创建接口的对象

/*

  • 定义接口
  • 使用关键字interface 接口名字
  • 接口定义:
  • 成员方法,全抽象
  • 不能定义带有方法体的方法
  •  
  • 定义抽象方法: 固定格式
  •  
  • public abstract 返回值类型 方法名字(参数列表);
  • 修饰符 public 写,或者不写,都是public
  •  
  • 接口中成员变量的定义
  • 成员变量的定义,具体要求
  •  
  • 要求 : 必须定义为常量
  • 固定格式:
  • public static final 数据类型 变量名 = 值
    */

public interface MyInterface {


//public static final int a = 1;

//在接口中,定义抽象的方法
public abstract void function();

}

================================================
/*

  • 定义类, 实现接口,重写接口中的抽象方法
  • 创建实现类的对象
  •  
  • 类实现接口, 可以理解为继承
  •  
  • 关键字 implements
  • class 类 implements 接口{
  • 重写接口中的抽象方法
  • }
  • 类 实现 接口
  • class MyInterfaceImpl implements MyInterface
    */

public class MyInterfaceImpl implements MyInterface{

public void function(){
    System.out.println("实现类,重写接口抽象方法");
}

}

=================================================
测试
public class Test {

public static void main(String[] args) {
    //创建接口的实现类的对象
    MyInterfaceImpl my = new MyInterfaceImpl();
    my.function();
}

}

5、接口中成员变量的特点
6、接口中成员方法的特点

/*

  • 接口中成员的特点
    1. 成员变量的特点, 没有变量,都是常量
  • 固定定义格式: public static final 数据类型 变量名 = 值
  • public 权限
  • static 可以被类名直接.调用
  • final 最终,固定住变量的值
  • // * 注意: public static final 修饰符,在接口的定义中,可以省略不写
  • 但是,不写不等于没有
  • 三个修饰符,还可以选择性书写
  •  
    1. 接口中的成员方法特点:
  • public abstract 返回值类型 方法名(参数列表)
  • 修饰符 public abstract 可以不写,选择性书写
  • 但是,写不写,都有
  •  
    1. 实现类,实现接口,重写接口全部抽象方法,创建实现类对象
      实现类必须重写所有抽象方法,才能定义类对象,否则仍然是抽象类
  • 实现类,重写了一部分抽象方法,实现类,还是一个抽象类
    */

public interface MyInter {

public static final  int x = 3;

public abstract void show();

public abstract int getSum(int a,int b);

}
image