实例化接口的几种方式

实例化接口的几种方式

一、接口介绍

1.接口自身无法被实例化,只能通过它的实现类来实现。

2.采用interface关键字来声明一个接口。

3.接口里面的抽象方法可以直接使用 返回值 方法名(参数);来定义。会自动加上public abstract 修饰符。

4.接口里面可以有多个默认方法(default修饰)且必须自己实现之,访问权限修饰符是public

5.接口里面可以有成员变量,但默认修饰符是public static final;

二、采用实现类实例化接口

1.接口

public interface Flyable {

public static final int num = 5;

String name = "实现我,你就可以飞";

public abstract void shit();

void fly();

void laugh();

default void eat() {}

default void sleep() {

System.out.println("我想睡觉");

}

}

2.实现类

public class Bird implements Flyable{

@Override

public void shit() {

System.out.println("实现类的shit()方法");

}

@Override

public void fly() {

System.out.println("实现类的fly()方法");

}

@Override

public void laugh() {

System.out.println("实现类的laugh()方法");

}

}

3.测试类

Flyable fly = new Bird();

这样fly对象就可以调用接口里面的所有方法了,

但是,接口里面的成员变量因为隐式的用static final修饰,所以是类变量。

三、采用匿名内部类

创建方法

Flyable fly = new Flyable() {

@Override

public void shit() {

// TODO Auto-generated method stub

}

@Override

public void laugh() {

// TODO Auto-generated method stub

}

@Override

public void fly() {

// TODO Auto-generated method stub

}

};

注意:创建匿名内部类一定要实现里面所有的抽象方法。

四、用lambda表达式

注意:lambda表达式只用于创建只有一个抽象方法的接口。

接口

public interface Flyable {

public static final int num = 5;

String name = "实现我,你就可以飞";

void fly();

default void eat() {}

default void sleep() {

System.out.println("我想睡觉");

}

}

主类:

Flyable fly = ()->{System.out.println("我会飞");};

❈ ❈ ❈

相关文章

✧ ✧ ✧
Hisense空调遥控器怎么用(详细操作指南)?
bt365体育在线投注

Hisense空调遥控器怎么用(详细操作指南)?

📅 06-29 👁️ 7245
如何联系小红书的人工客服?
365bet足彩网上投注

如何联系小红书的人工客服?

📅 08-01 👁️ 8326
刀塔自走棋为什么服务器卡
bt365体育在线投注

刀塔自走棋为什么服务器卡

📅 07-05 👁️ 967