java关于调用方法的汇总

 更新时间:2017年11月27日 10:04:43   投稿:laozhang  
本文小编给大家整理了在Java中关于静态调用和动态调用的方法汇总,值得大家学习和参考。

以下我们根据JAVA的调用方法做了整理和总结,以及相关的调用代码也做测试,以下来学习下。

java方法主要分为三种:

一种是静态方法

这种方法的话用static修饰,这个方法不需要与某个特定对象进行绑定;第二种就是常见的没有用static修饰的方法;第三种就是构造方法,构造方法主要用于对类进行初始化。

静态方法可以使用一个定义且实例化过的对象来调用也可以直接使用类名来调用。

实例方法必须使用一个被定义且实例化过的对象来调用。

class A{
  //静态方法,可以使用类名点方法名直接调用,比如A.sayHello() 
  public static void sayHello(){
    System.out.println("静态方法输出成功:Hello");
  }
  //实例方法,必须创建类的实例,然后才能调用A a = new A(); a.sayWorld();
  public void sayWorld(){
    System.out.println("实例方法输出成功:World");
  }
}
 
public class MyDemo {  
  public static void main(String[] args) {
    A a = null;
    try{
      a.sayHello();//调用静态方法
    }catch(NullPointerException e){
      System.out.println("调用静态方法出现了空指针异常");
    }
    try{
      a.sayWorld();//调用实例方法
    }catch(NullPointerException e){
      System.out.println("调用实例方法出现了空指针异常");
    }
  }
}

测试输出:

静态方法输出成功:Hello

调用实例方法出现了空指针异常

Java动态调用类中方法代码

使用Math.class.getDeclaredMethod("sin", Double.TYPE);访问指定的方法,其中”sin”表示要访问的方法的名称为sin,Double.TYPE表示入口参数的类型为double

import java.lang.reflect.Method; 

public class DongTai { 
  public static void main(String[] args) { 
    try { 
      System.out.println("调用Math类的静态方法sin()"); 
      Method sin = Math.class.getDeclaredMethod("sin", Double.TYPE); 
      Double sin1 = (Double) sin.invoke(null, new Integer(1)); 
      System.out.println("1的正弦值是:" + sin1); 
      System.out.println("调用String类的非静态方法equals()"); 
      Method equals = String.class.getDeclaredMethod("equals", Object.class); 
      Boolean mrsoft = (Boolean) equals.invoke(new String("明日科技"), "明日科技"); 
      System.out.println("字符串是否是明日科技:" + mrsoft); 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
  } 
} 

运行后的输出结果

相关文章

  • Java使用JXLS导出Excel详解

    Java使用JXLS导出Excel详解

    jxls是一个轻量级的Java库,用于基于模板的Excel报表生成,这篇文章主要为大家介绍了Java如何使用JXLS导出Excel,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-11-11
  • spring cloud gateway网关路由分配代码实例解析

    spring cloud gateway网关路由分配代码实例解析

    这篇文章主要介绍了spring cloud gateway网关路由分配代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 详解spring security filter的工作原理

    详解spring security filter的工作原理

    这篇文章主要介绍了详解spring security filter的工作原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • SpringBoot统一返回结果问题

    SpringBoot统一返回结果问题

    这篇文章主要介绍了SpringBoot统一返回结果问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 如何解决HttpServletRequest.getInputStream()多次读取问题

    如何解决HttpServletRequest.getInputStream()多次读取问题

    这篇文章主要介绍了如何解决HttpServletRequest.getInputStream()多次读取问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • java高并发的volatile与Java内存模型详解

    java高并发的volatile与Java内存模型详解

    这篇文章主要介绍了java高并发的volatile与Java内存模型,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-10-10
  • 实例详解Java实现图片与base64字符串之间的转换

    实例详解Java实现图片与base64字符串之间的转换

    这篇文章主要介绍了Java实现图片与base64字符串之间的转换实例代码,非常不错,具有参考借鉴价值,需要的朋友参考下
    2016-12-12
  • Java中JUC 的 Exchange 交换器详情

    Java中JUC 的 Exchange 交换器详情

    这篇文章主要介绍了Java中JUC 的 Exchange 交换器详情,文章基于Java的相关资料展开详细的内容介绍,需要的小伙伴可以参考一下
    2022-05-05
  • springboot集成nacos的配置方法

    springboot集成nacos的配置方法

    这篇文章主要介绍了springboot集成nacos的配置方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • MyBatis-Plus实现逻辑删除的示例代码

    MyBatis-Plus实现逻辑删除的示例代码

    本文主要介绍了MyBatis-Plus实现逻辑删除的示例代码,就是通过逻辑判断的手段表示该条数据已删除,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05

最新评论