实例

  直接三角形,通过两边算第三边,目的是为了如何使用这几种方法引用。代码中多有些不合适,尽情原谅。

静态方法引用

   接口的参数列表与类中的具体实现方法的参数列表一样,返回值一致。

   调用

    

    //静态引用
    IStaticSide staticSide = Five::getStaticSize;
    staticSide.getStaticSize(3, 6);
    

  类中定义

  

    //静态引用
    public static double getStaticSize(double s,double s2)
    {
      return Math.sqrt(s*s+s2*s2);
    }

  定义接口

 

    interface IStaticSide{

         double getStaticSize(double s,double s2);
    }

实例引用

  接口的参数列表与类中的具体实现方法的参数列表一样,返回值一致。

  调用

  
  Five five = new Five(3,4);   //实例引用方法
  ILastSide side=five::getTheLastSide;
  System.out.println("实例引用,方法第三边的结果:"+side.getLastSide());
 

  类中定义

   // 类型引用
  public double getFiveLastSide(Five f) {
    return Math.sqrt(this.side1 * this.side1 + this.side1 * this.side1);
  }

  定义接口

  interface ILastSide {
    double getLastSide();
  }

类型引用

    类中定义的方法只有一个参数,就是对比的类,也就是定义接口中的第二个参数
           定义的接口必须是两个参数,第一个参数指的引用的类,第二个参数指的是对比的类
  调用
  //类型引用
  ILastFiveSide typeside = Five::getFiveLastSide;
  System.out.println("类型引用,第三边的结果:"+typeside.getLastSide(five, five));

  类中定义

   // 类型引用
  public double getFiveLastSide(Five f) {
    return Math.sqrt(this.side1 * this.side1 + this.side1 * this.side1);
  }

  接口定义

  interface ILastFiveSide {
    double getLastSide(Five f, Five f2);
  }

构造引用

  引用构造器,通过例子也就是引用后返回的是对象,然后通过对象再调用相应的方法执行。

  调用

   //构造器引用
  IGetInstance instace = Five::new;
  System.out.println("构造器引用,第三边的结果:"+instace.getInstance(1,2).getTheLastSide());

  类中定义

   // 构造器引用
  public Five getInstance(double s, double s2) {
    return new Five(s, s2);
  }

  接口定义

  // 接收引用后的结果接口
  interface IGetInstance {
    Five getInstance(double s, double s2);
  }

后话

  只是自己通过简单的例子总结,如有不对的地方希望大神门指点江山。自己之前都是从事.net开发,java方面的知识确实不足,希望多多谅解,不想坑队友。

java基础-四种方法引用的更多相关文章

  1. Java用四种方法实现阶乘n! (factorial)

    1. 引言 实现阶乘的方法很多,这边介绍四种方法,分别是递归,尾递归,循环和BigDecimal. 2. 代码 public class Test { public static void main( ...

  2. java 基础 四种权限修饰符

    /** * Java有四种权限修饰符: * public > protected > (default) > private * 同一个类 YES YES YES YES * 同一个 ...

  3. Java基础:Java的四种引用

    在Java基础:java虚拟机(JVM)中,我们提到了Java的四种引用.包括:强引用,软引用,弱引用,虚引用.这篇博客将详细的讲解一下这四种引用. 1. 强引用 2. 软引用 3. 弱引用 4. 虚 ...

  4. 【转载】Java的四种引用

    在Java中,虽然不需要程序员手动去管理对象的生命周期,但是如果希望某些对象具备一定的生命周期的话(比如内存不足时JVM就会自动回收某些对象从而避免OutOfMemory的错误)就需要用到软引用和弱引 ...

  5. 转载:Java的四种引用方式

    原文:https://www.cnblogs.com/huajiezh/p/5835618.html Java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指 ...

  6. 运行jar应用程序引用其他jar包的四种方法

    转载地址:http://www.iteye.com/topic/332580 大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个ja ...

  7. Java中四种引用:强、软、弱、虚引用

    这篇文章非常棒:http://alinazh.blog.51cto.com/5459270/1276173 Java中四种引用:强.软.弱.虚引用 1.1.强引用当我们使用new 这个关键字创建对象时 ...

  8. Java的四种引用类型之弱引用

    先说结论: 首先,Java中有四种引用类型:强引用.软引用.弱引用.虚引用.-- 在 Java 1.2 中添加的,见 package java.lang.ref; . 其次,这几个概念是与垃圾回收有关 ...

  9. java中四种引用类型(对象的强、软、弱和虚引用)

    对象的强.软.弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.从JDK 1.2 ...

随机推荐

  1. golang环境

    Golang是谷歌开发的一款开源性语言,暂时比较方便的IDE有Inteillj Idea.LiteIDE.Eclipse(Golipse)等,使用起来比较方便的IDE:LiteIDE和Inteillj ...

  2. 【caffe-windows】 caffe-master 之 训练自己数据集(图片转换成lmdb or leveldb)

    前期准备: 文件夹train:此文件夹中按类别分好子文件夹,各子文件夹里存放相应图片 文件夹test:同train,有多少类就有多少个子文件夹 trainlabels.txt : 存的是训练集的标签  ...

  3. jDialects:一个从Hibernate抽取的支持70多种数据库方言的原生SQL分页工具

    jDialects(https://git.oschina.net/drinkjava2/jdialects) 是一个收集了大多数已知数据库方言的Java小项目,通常可用来创建分页SQL和建表DDL语 ...

  4. js小数处理

    js中的小数处理   先说说Math的几个方法: 1.Math.floor(x)   返回不大于当前数的最大整数. 我的记法:floor 直译 地板  也就是不大于的的意思 (x-0.5 四舍五入取整 ...

  5. Hadoop - 操作练习之单机配置 - Hadoop2.8.0/Ubuntu16.04

    系统版本 anliven@Ubuntu1604:~$ uname -a Linux Ubuntu1604 4.8.0-36-generic #36~16.04.1-Ubuntu SMP Sun Feb ...

  6. 创建一个JS函数,运用JS中arguments对象

    Javascript中有个内置的arguments对象. arguments对象包含了参数调用的参数数组. <p>查找最大的数.</p> <p id="demo ...

  7. PHP 学习笔记(3)

    <?phpif (isset($_POST['action']) && $_POST['action'] == 'submitted') {    echo '<pre&g ...

  8. MongoDB副本集的搭建

    副本集是mongodb提供的一种高可用解决方案.相对于原来的主从复制,副本集能自动感知primary节点的下线,并提升其中一个Secondary作为Primary. 整个过程对业务透明,同时也大大降低 ...

  9. OC-不可变数组NSArray

  10. zabbix3.2 install

    以下参考官网 一.Zabbix安装配置(ubuntu) 1.Zabbix服务端安装 基础情况 系统 Ubuntu 14.04.4 LTS zabbix版本 zabbix 3.2 ip 192.168. ...