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并发容器之ConcurrentLinkedQueue详解

    Java并发容器之ConcurrentLinkedQueue详解

    这篇文章主要介绍了Java并发容器之ConcurrentLinkedQueue详解,加锁队列的实现较为简单,这里就略过,我们来重点来解读一下非阻塞队列,
    从点到面, 下面我们来看下非阻塞队列经典实现类ConcurrentLinkedQueue,需要的朋友可以参考下
    2023-12-12
  • 基于Java方式实现数据同步

    基于Java方式实现数据同步

    这篇文章主要为大家详细介绍了基于Java方式实现数据同步,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • 详细聊聊JDK中的反模式接口常量

    详细聊聊JDK中的反模式接口常量

    这篇文章主要给大家介绍了关于JDK中反模式接口常量的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用jdk具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • spring boot hutool整合email的详细过程

    spring boot hutool整合email的详细过程

    这篇文章主要介绍了spring boot hutool整合email的相关知识,本文介绍两种方式发送email文件,结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • 如何通过Kaptcha在Web页面生成验证码

    如何通过Kaptcha在Web页面生成验证码

    这篇文章主要介绍了如何通过Kaptcha在Web页面生成验证码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Java正则匹配中文的方法实例分析

    Java正则匹配中文的方法实例分析

    这篇文章主要介绍了Java正则匹配中文的方法,结合实例形式分析了Java针对中文、标点及引号等匹配操作相关技巧,需要的朋友可以参考下
    2017-03-03
  • mybatis清除一级缓存的几种方式

    mybatis清除一级缓存的几种方式

    这篇文章主要介绍了mybatis清除一级缓存的几种方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • 深入理解Java中@Accessors和@Builder

    深入理解Java中@Accessors和@Builder

    本文主要介绍了@Accessors和@Builder使用,区别与坑,对使用这两个注解的有一定的帮助,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • idea无法切换分支报错问题及解决

    idea无法切换分支报错问题及解决

    这篇文章主要介绍了idea无法切换分支报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • idea2019.1.4 鼠标放到方法上显示注解的实现操作

    idea2019.1.4 鼠标放到方法上显示注解的实现操作

    这篇文章主要介绍了idea2019.1.4 鼠标放到方法上显示注解的实现操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02

最新评论