java-方法引用

        1.方法引用的访问符(::),和C++的域访问符好像是一样的,从类里面直接获取方法的引用,用来取代函数接口中的虚函数的函数体的 意思,我感觉,如下面,本来虚函数也是要实现println的函数的内容,就直接将println函数丢进去,根据能推导就可以省略省略的原则,printstring的函数体内容和println的函数体的内容是一样的,都是将s输出到窗口上。

package demo;

/**
 * <p> TODU </P>
 *
 * @author yeager
 * @Version V1.1.1.0
 * @date 2023/11/29 17:03
 */

public class MethodPtrDemo {
    interface  Printable
    {
        void printString(String s);
    }

    public static void main(String[] args)
    {
        userPrintable(s->System.out.println(s +" hello"));

        userPrintable(System.out::println);
    }
    private static void userPrintable(Printable p){
        p.printString("爱生活,爱Java");
    }
}

      我自己写一个方法  只要输入输出是对得上的,就很容易看明白了。

       myMethod:通过类名访问类的静态方法。

      myMethod2:通过对象去访问类的成员函数;对象也可以访问静态方法

       meMethod3:通过类名访问成员函数,报错了= =

package demo;

/**
 * <p> TODU </P>
 *
 * @author yeager
 * @Version V1.1.1.0
 * @date 2023/11/29 17:03
 */

public class MethodPtrDemo {
    interface  Printable
    {
        void printString(String s);
    }

    interface Convert
    {
        int convertToInt(String s);
    }
    public static void main(String[] args)
    {
        userPrintable(s->System.out.println(s +" hello"));

        userPrintable(System.out::println);

        userConvert(MethodPtrDemo::myMethod);

        MethodPtrDemo demo = new MethodPtrDemo();
        userConvert(demo::myMethod2);

        userConvert(MethodPtrDemo::myMethod3);
    }
    private static void userConvert(Convert con)
    {
        int num = con.convertToInt("666");
        System.out.println(num);
    }

    private static void userPrintable(Printable p){
        p.printString("爱生活,爱Java");
    }

    public int myMethod3(String str)
    {
        int num = Integer.parseInt(str);
        num %= 10;
        return num;
    }

    private int myMethod2(String str)
    {
        int num = Integer.parseInt(str);
        num %= 10;
        return num;
    }
    private static  int myMethod(String str)
    {
        int num = Integer.parseInt(str);
        num %= 10;
        return num;
    }
}

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值