在接口(interimpl)中,声明的变量初始化,自动变成静态的public 全局静态常量,以后这个值只能用而不能赋值。接口中没有静态程序段(static {}),也没有初始化程序段({})。可以写方法,如:(int pf (int i ))

抽象方法可以使用函数接口:

//定义函数接口
@FunctionalInterface

public interface InterImpl {
    //定义1个常量
    public final static int id = 3;
    //定义抽象方法

    public abstract int pf(int i);
    //定义实现方法,可以是静态可以是动态,此处是静态,可以写个方法
    static  int lf(int i ){
        return  i*i*i;

    }
//声明接口  
接口   =  常量 +  抽象方法 
interface  Inter{
常量+抽象方法     }
 //使用接口

接口一般不直接实例化,使用接口用的是接口的实现类

class InterImpl implements Inter{
 
 }

使用方法:

InterImpl ii = new InterImpl();
 Inter in = new InterImpl();

 java 1.8 接口有新增default 实现方法  static 实现方法,如果接口有且只有一个抽象方法,此接口自动为函数式接口(可以使用lambda表达式来作为参数直接使用,可以避免内部匿名类的出现,语法更加简捷)

函数式接口只能有一个抽象类方法,当使用多个抽象类式程序会报错:

public abstract int pf(int i);

    show ();

这写会进行报错

int vlan 2命令_int vlan 2命令

用接口一般是使用接口的抽象类,函数接口可以使用lamoda表达式,旁边会有λ的符号,例如:

public abstract int pf(int i);
InterImpl ii = new InterImpl() {
            @Override

            public int pf(int i) {
                return i * i;

            }

接口的实现:

static  void  version(){

        System.out.println("hello world");
    }

    static  void  Helloword(){

        System.out.println("hello world,你好,世界");
    }
    //默认方法
    default  int sum(int a, int b){
        return  a+b;


    }

引用接口:

System.out.println(ii.pf(3));
        System.out.println(ii.sum(3, 5));
        InterImpl.version();
        InterImpl.Helloword();

接口可以继承:

/**
* 文字描述:声明A类时继承B类,B是父类,A是B类的子类,同时实现
* C 接口 D接口 E接口 F接口
* java 面向对象类单继承,多实现
*/
public class A extends B implements C,D,E,F{
}
//如下代码是合理的
B a1 = new A();
C c1 = new A();
F c1 = new A();
E e1 = new A();
声明接口
public interface C{}
public interface D{}
public interface E{}
//描述:声明F接口,继承C接口D接口E接口
//在java面向对象开发中,接口是可以多继承的
public interface F extends C,D,E{
}

接口 和 抽象类区别?

函数式接口 java1.8新技术 必须是一个接口,有且只有一个抽象方法,此接口主要用于lambda表达式编程, 接口作为参数

interface MyUtil{
int pf(int i);
}

前后端配置开发时,接口使用量大,更加规范,

JDBC组件,架构使用的就是接口,所以JDBC里边几乎全是接口

Connectin 对象不是类 是接口

接口最终使用的是 implements 实现类 或 lambda表达式 抽象类 最终使用的是子类 可以重写 重载相关的方法