java默认方法sqrt实例用法

在接口中我们有许多方法可以实现,其中默认方法引起了大家的注意。每次想要实现类又不知道从何下手的小伙伴,除了可以使用抽象方法外,默认方法sqrt也是不错的选择。下面我们简单对一些方法进行介绍,然后带来具体的默认方法sqrt,在这之前我们先对其它方法进行简单的理解。

1、Java 8 允许我们使用default关键字,为接口声明添加非抽象的方法实现。这个特性又被称为扩展方法。下面是我们的第一个例子:

interface Formula {
  double calculate(int a);
  default double sqrt(int a) {
    return Math.sqrt(a);
  }
}

2、在接口Formula中,除了抽象方法caculate以外,还定义了一个默认方法sqrt。Formula的实现类只需要实现抽象方法caculate就可以了。默认方法sqrt可以直接使用。

Formula formula = new Formula() {
  @Override
  public double calculate(int a) {
    return sqrt(a * 100);
  }
};
formula.calculate(100);   // 100.0
formula.sqrt(16);      // 4.0

formula对象以匿名对象的形式实现了Formula接口。代码很啰嗦:用了6行代码才实现了一个简单的计算功能:a*100开平方根。

实例扩展:

public class Test{
  public static void main(String args[]){
    double x = 11.635;
    double y = 2.76;

    System.out.printf("e 的值为 %.4f%n", Math.E);
    System.out.printf("sqrt(%.3f) 为 %.3f%n", x, Math.sqrt(x));
  }
}

编译以上程序,输出结果为:

e 的值为 2.7183
sqrt(11.635) 为 3.411

到此这篇关于java默认方法sqrt实例用法的文章就介绍到这了,更多相关java默认方法sqrt的使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java 中平方根(sqrt)算法 的实例详解

    java 中平方根(sqrt)算法 平方根(sqrt, square root)是数学中常见的数学的公式; 使用程序进行求平方根主要分为两步: 第一步: while()循环, 控制循环次数及小数的位数, 防止无限循环和出现多位小数; 第二步: 通过分解平方根, 使用循环, 逐渐减小,接近平方根; 同理, 其他方根也可以类似扩展, 不过需要注意的是, 偶数次方根需要确保输入正数; 奇数次方根需要转换为正数, 确保循环收敛, 再进行结果正负判断; 代码如下: /* * Algorithms.java

  • java默认方法sqrt实例用法

    在接口中我们有许多方法可以实现,其中默认方法引起了大家的注意.每次想要实现类又不知道从何下手的小伙伴,除了可以使用抽象方法外,默认方法sqrt也是不错的选择.下面我们简单对一些方法进行介绍,然后带来具体的默认方法sqrt,在这之前我们先对其它方法进行简单的理解. 1.Java 8 允许我们使用default关键字,为接口声明添加非抽象的方法实现.这个特性又被称为扩展方法.下面是我们的第一个例子: interface Formula { double calculate(int a); defau

  • java 线程方法join简单用法实例总结

    本文实例讲述了java 线程方法join简单用法.分享给大家供大家参考,具体如下: 虽然关于讨论线程join方法的博客已经很多了,不过个人感觉挺多都讨论得不够全面,所以我觉得有必要对其进行一个全面的总结. 一.作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并行执行变为串行执行.具体看代码: public class JoinTest { public static void main(String [] args) throws InterruptedExcepti

  • java SelectableChannel的使实例用法讲解

    1.说明 (1)SelectableChannel 是一个抽象类,它实现了 Channel 接口,这个类比较特殊. (2)SelectableChannel 可以被 Selector 用来多路复用,不过首先需要调用 selectableChannel.configureBlocking(false) 调整为非阻塞模式. 2.实例 SelectionKey register(Selector sel, int ops) SelectionKey register(Selector sel, int

  • java动态方法调度实例分析

    本文实例讲述了java动态方法调度.分享给大家供大家参考,具体如下: 动态方法调度: 1. 访问一个引用型的变量的非静态方法,运行时与实际引用的对象的方法绑定. 2. 访问一个引用型的变量的静态方法,运行时与声明的类的方法绑定. 3. 访问一个引用型的变量的成员变量(包括静态变量和实例变量),运行时与声明的类的成员变量绑定. 第3点尤其注意啊,之前我从来没注意过啊 1. 非静态方法: public class Person { public String name; public void ge

  • java中gc算法实例用法

    在我们对gc中的算法有基本概念理解后,要把算法的理念实现还需要依托实际垃圾收集器的使用.因为光靠一些简单的原理不足以支撑整个程序的运行,在回收机制上有专门的收集器.下面我们就垃圾收集器的概念.使用注意事项.收集器图解进行介绍,然后带来两种常见的垃圾收集器供大家参考. 1.概念 垃圾收集器时之前列举的垃圾收集算法的具体实现. 2.注意事项 每一个回收器都存在Stop The World 的问题,只不过各个回收器在Stop The World 时间优化程度.算法的不同,可根据自身需求选择适合的回收器

  • java AOP原理以及实例用法总结

    AOP : 面向切面编程 在程序设计中,我们需要满足高耦合低内聚,所以编程需满足六大原则,一个法则. AOP面向切面编程正是为了满足这些原则的一种编程思想. 一.装饰者模式: 当我们需要给对象增加功能时,为了满足单一职责原则,可利用装饰者模式编程,创建一个类用来装饰原来的类,这个类写需要在原来的功能上增加的功能. 比如:一个类里面有一个增加图书的功能, @Service public class BookSericeImpl implements BookSerice { @Override p

  • java有界类型参数的实例用法

    java有界类型参数的使用 1.为了声明一个有界类型参数,列出类型参数的名称,然后是extends关键字,最后是它的上界. public class Box<T> { private T t; public void set(T t) { this.t = t; } public T get() { return t; } public <U extends Number> void inspect(U u){ System.out.println("T: "

  • Java8新特性之接口中的默认方法和静态方法详解

    一.前言 Java 8 引入了默认方法以及可以在接口中定义的静态方法. 默认方法是一个普通的 java 方法,但以 default 关键字开头,静态方法像往常一样用 static 关键字声明. 二.为什么在 Java 接口中使用默认方法? 为什么java在接口中引入了默认方法. 假设一个拖拉机制造公司发布了操作拖拉机的标准接口,如如何挂挡或停车等. 开发者已经开发了不同类型的拖拉机来实现标准的拖拉机接口. 如果公司在其标准接口中增加了新的功能,如如何跳动拖拉机? 开发者需要对他们的类进行修改以定

  • java arrayList遍历的四种方法及Java中ArrayList类的用法

    java arrayList遍历的四种方法及Java中ArrayList类的用法 package com.test; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class ArrayListDemo { public static void main(String args[]){ List<String> list = new ArrayList<String

  • JAVA中的final关键字用法实例详解

    本文实例讲述了JAVA中的final关键字用法.分享给大家供大家参考,具体如下: 根据上下文环境,java的关键字final也存在着细微的区别,但通常指的是"这是无法改变的."不想改变的理由有两种:一种是效率,另一种是设计.由于两个原因相差很远,所以关键子final可能被误用. 接下来介绍一下使用到final的三中情况:数据,方法,类 final数据 许多编程语言都有某种方法,来向编译器告知一块数据是恒定不变的.有时数据的恒定不变是很有用的,例如: 1. 一个编译时恒定不变的常量 2.

随机推荐