类方法与对象方法
Posted silver-aircraft
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类方法与对象方法相关的知识,希望对你有一定的参考价值。
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();//正确
项目中的SecurityUtils.getSubject().getPrincipal()应该就是类方法,虽然没有看源码,但是可以推测这个方法是静态的。
以上是关于类方法与对象方法的主要内容,如果未能解决你的问题,请参考以下文章