java基础-四种方法引用
实例
直接三角形,通过两边算第三边,目的是为了如何使用这几种方法引用。代码中多有些不合适,尽情原谅。
静态方法引用
接口的参数列表与类中的具体实现方法的参数列表一样,返回值一致。
调用
//静态引用
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基础-四种方法引用的更多相关文章
- Java用四种方法实现阶乘n! (factorial)
1. 引言 实现阶乘的方法很多,这边介绍四种方法,分别是递归,尾递归,循环和BigDecimal. 2. 代码 public class Test { public static void main( ...
- java 基础 四种权限修饰符
/** * Java有四种权限修饰符: * public > protected > (default) > private * 同一个类 YES YES YES YES * 同一个 ...
- Java基础:Java的四种引用
在Java基础:java虚拟机(JVM)中,我们提到了Java的四种引用.包括:强引用,软引用,弱引用,虚引用.这篇博客将详细的讲解一下这四种引用. 1. 强引用 2. 软引用 3. 弱引用 4. 虚 ...
- 【转载】Java的四种引用
在Java中,虽然不需要程序员手动去管理对象的生命周期,但是如果希望某些对象具备一定的生命周期的话(比如内存不足时JVM就会自动回收某些对象从而避免OutOfMemory的错误)就需要用到软引用和弱引 ...
- 转载:Java的四种引用方式
原文:https://www.cnblogs.com/huajiezh/p/5835618.html Java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指 ...
- 运行jar应用程序引用其他jar包的四种方法
转载地址:http://www.iteye.com/topic/332580 大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个ja ...
- Java中四种引用:强、软、弱、虚引用
这篇文章非常棒:http://alinazh.blog.51cto.com/5459270/1276173 Java中四种引用:强.软.弱.虚引用 1.1.强引用当我们使用new 这个关键字创建对象时 ...
- Java的四种引用类型之弱引用
先说结论: 首先,Java中有四种引用类型:强引用.软引用.弱引用.虚引用.-- 在 Java 1.2 中添加的,见 package java.lang.ref; . 其次,这几个概念是与垃圾回收有关 ...
- java中四种引用类型(对象的强、软、弱和虚引用)
对象的强.软.弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.从JDK 1.2 ...
随机推荐
- java映射(map用法)
主要分两个接口:collection和Map 主要分三类:集合(set).列表(List).映射(Map)1.集合:没有重复对象,没有特定排序方式2.列表:对象按索引位置排序,可以有重复对象3.映射: ...
- java获得路径的多种方式
本文讲解java语言中获得运行时路径的多种方式,包括java项目.java web项目.jar.weblogic等多种场景. 一.this.getClass().getClassLoader().ge ...
- JSON 解析工具的封装(Java)
JSON 解析工具的封装(Java) 一直想有一个属于自己的JSON工具,今天终于弄好了..... 1.添加pom依赖包 <!--json解析--> <dependency> ...
- (函数封装)获取class名称
使用原生JavaScript,获取类操作符时:即使使用getElementByClassName,在Firefox和IE9以下是不兼容的.Firefox下是可以用它获取的到元素而IE不行,一般框架都会 ...
- bzoj1898 [Zjoi2005]沼泽鳄鱼
Description 潘塔纳尔沼泽地号称世界上最大的一块湿地,它地位于巴西中部马托格罗索州的南部地区.每当雨季来临,这里碧波荡漾.生机盎然,引来不少游客.为了让游玩更有情趣,人们在池塘的中央建设了几 ...
- 前端模块化——seaJS
1.seaJS手记 一:Bower获取 要安装bower Npm install -g bower Bower install seajs 二:Use方法是整个项目的入口方法,通常一个项目中只调用一次 ...
- 产品经理学Python:for循环、while循环
Python中有两种循环,分别为:for循环和while循环. 1. for循环 for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次).for循环的 ...
- javascript函数作用域及this指向详解
一.先说一个简单的概念--变量提升: 通过function+函数名的方式,声明的函数,可以在代码中的任何位置调用: 通过var定义变量的方式,声明的函数,则必须在声明之后进行调用,原因就是在变量定义之 ...
- AutoFac学习摘要
依赖注入(控制反转)常见的依赖注入工具:AutoFac,Spring.Net,Unity等依赖注入的方式:1.通过构造函数进行注入2.通过属性进行注入 注意:在项目中AutoFac的注入有两次,第一次 ...
- 思考一个关于Lambda表达式做为linq条件的问题
有一个集合如下 List<User> users = new List<User> { new User{Name = "1",Aget = 12}, ne ...