Java中我们都知道,static 方法就是没有this的方法。在static方法的内部不能调用非静态方法,反过来是可以的。这里我举一个例子,在一个静态方法中调用非静态方法。
package com.Test1;
public class Blog {
public static void main(String[] args) {
// TODO Auto-generated method stub
Medicine m = new Medicine();
doctor(m);
}
//一个静态方法
public static void staticTest()
{
System.out.println("Test");
}
//一个静态方法
public static void doctor(Medicine m)
{
//在静态方法内部调用静态方法
staticTest();
//在静态方法内部调用非静态方法
m.getName();
}
}
class Medicine
{
public void getName()
{
System.out.println("aspirin");
}
}输出结果:
Test
aspirin可以看到,在static方法内部可以直接调用静态方法,也可以调用非静态方法,原因就在于如果你传递一个对象的引用到静态方法里,研后通过这个引用,就可以调用非静态方法了。
本文探讨了Java中静态方法(static methods)的特点与使用方法,并通过示例展示了如何在静态方法内部调用非静态方法。理解这一特性对于Java程序员来说至关重要。

1309

被折叠的 条评论
为什么被折叠?



