public class Test
{
/**
* 下面这个方法就是静态方法,应该就是楼主所说的类方法~~
* 静态方法必须定义成static的,在类Test被实例化以前就已经存在于内存中
* 静态方法使所有该类的实例也就是对象共有的方法
*/
public static void f1()
{
System.out.println("静态方法");
}
/**
* 下面这个方法就是一般的非静态方法,应该就是楼主所说的对象方法~~
* 只有在类Test被实例化以后,才被加载到内存中,具体存储在堆中,
* 非静态方法是每个该类的实例也就是对象所私有的
*/
public void f2()
{
System.out.println("非静态方法");
}
public static void main(String[] args)
{
Test t=new Test();
/**
* 静态方法必须既可以用类名直接调用,也可以用对象来调用
*/
Test.f1();//正确
t.f1();//正确,但不推荐这么用
/**
* 非静态方法只能用对象来调用
*/
//Test.f2();//正确
t.f2();//正确
}
}
转载自https://blog.csdn.net/weixin_40576889/article/details/78319382