java关于调用方法的汇总

所属分类: 软件编程 / java 阅读数: 15
收藏 0 赞 0 分享

以下我们根据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数据类型的规则

这篇文章主要介绍了Java数据类型的规则的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring整合TimerTask实现定时任务调度

这篇文章主要介绍了Spring整合TimerTask实现定时任务调度的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解SpringMVC使用MultipartFile实现文件的上传

本篇文章主要介绍了SpringMVC使用MultipartFile实现文件的上传,本地的文件上传到资源服务器上,比较好的办法就是通过ftp上传。这里是结合SpringMVC+ftp的形式上传的,有兴趣的可以了解一下。
收藏 0 赞 0 分享

SpringMVC上传文件的三种实现方式

本篇文章主要介绍了SpringMVC上传文件的三种实现方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例

本篇文章主要介绍了微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享

浅析Java中的继承与组合

本文将介绍组合和继承的概念及区别,并从多方面分析在写代码时如何进行选择。文中通过示例代码介绍的很详细,有需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

利用反射获取Java类中的静态变量名及变量值的简单实例

下面小编就为大家带来一篇利用反射获取Java类中的静态变量名及变量值的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java启动线程的3种方式对比分析

这篇文章主要为大家对比分析了java启动线程的3种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

SpringMVC上传和解析Excel方法

这篇文章主要介绍了SpringMVC上传和解析Excel方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

JAVA中String类与StringBuffer类的区别

这篇文章主要为大家详细介绍了JAVA中String类与StringBuffer类的区别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多