接口实现类的各种方法

1、外部类

public class test{
    public static void main(String[] args) {
        ILove love=new Love();
        love.love(2);
    }
}

class Love implements ILove{
    public void love(int a){
        System.out.println("I love you"+a);
    }
}
interface ILove {
    void love(int a);
}

2、静态内部类

public class test{
    static class Love implements ILove{
        public void love(int a){
            System.out.println("I love you"+a);
        }
    }
    public static void main(String[] args) {
        ILove love=new Love();
        love.love(2);
    }
}

interface ILove {
    void love(int a);
}

3、局部内部类

public class test{
    public static void main(String[] args) {
        class Love implements ILove{
            public void love(int a){
                System.out.println("I love you"+a);
            }
        }
        ILove love=new Love();
        love.love(2);
    }
}

interface ILove {
    void love(int a);
}

4、匿名内部类(没有名字,通过接口实现)

public class test{
    public static void main(String[] args) {
        ILove love=new ILove(){
            public void love(int a){
                System.out.println("I love you"+a);
            }
        };
        love.love(2);
    }
}

interface ILove {
    void love(int a);
}

5、lamda表达式简化(只能在函数式接口中使用)

public class test{
    public static void main(String[] args) {
        ILove love=(int a)->{
            System.out.println("I love you"+a);
        };
        love.love(2);
    }
}

interface ILove {
    void love(int a);
}

      ①去掉参数类型(多个参数也能去掉,但是要去掉都去掉)

public class test{
    public static void main(String[] args) {
        ILove love=(a)->{
            System.out.println("I love you"+a);
        };
        love.love(2);
    }
}

interface ILove {
    void love(int a);
}

        ②去掉()(多参数必须加上())

public class test{
    public static void main(String[] args) {
        ILove love=a->{
            System.out.println("I love you"+a);
        };
        love.love(2);
    }
}

interface ILove {
    void love(int a);
}

        ③去掉{}(函数体有多行,则不能去掉)

public class test{
    public static void main(String[] args) {
        ILove love=a->System.out.println("I love you"+a);
        love.love(2);
    }
}

interface ILove {
    void love(int a);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在面向对象编程中,接口是一个抽象的概念,它定义了一组方法或属性,但并不提供具体的实现,而是由实现实现这些方法和属性。在使用接口时,我们通常会定义一个实现实现接口中定义的方法。 要调用接口实现方法,可以按照以下步骤进行: 1. 定义接口:首先需要定义一个接口,该接口包含需要实现方法的签名。 2. 创建实现:创建一个实现,该实现接口中定义的所有方法。 3. 创建接口实例:创建一个接口实例,该实例指向实现的对象。 4. 调用接口方法:通过接口实例调用接口方法,实际上会调用实现中对应的方法。 例如,假设我们有一个名为Animal的接口,其中定义了一个名为makeSound的方法,现在我们需要实现这个接口,并且创建一个Dog实现实现这个接口: ```java interface Animal { public void makeSound(); } class Dog implements Animal { public void makeSound() { System.out.println("汪汪汪!"); } } ``` 然后,我们可以创建一个Animal接口的实例,并将其指向一个Dog实例: ```java Animal animal = new Dog(); ``` 最后,我们就可以通过animal实例来调用makeSound方法: ```java animal.makeSound(); // 输出:汪汪汪! ``` 在调用makeSound方法时,实际上是调用了Dog实现中的makeSound方法。这就是通过接口实现来调用方法的基本过程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值