以下我们根据JAVA的调用方法做了整理和总结,以及相关的调用代码也做测试,以下来学习下。
java方法主要分为三种:
一种是静态方法
这种方法的话用static修饰,这个方法不需要与某个特定对象进行绑定;第二种就是常见的没有用static修饰的方法;第三种就是构造方法,构造方法主要用于对类进行初始化。
静态方法可以使用一个定义且实例化过的对象来调用也可以直接使用类名来调用。
实例方法必须使用一个被定义且实例化过的对象来调用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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();
}
}
}
|
运行后的输出结果
原文链接:http://blog.csdn.net/Tobin_Xu/article/details/78618461