- 一个类想要调用另一个类的方法,比如Test类想调用Student类中的say()方法,有两种方式:
- static静态方法:在Test类中直接类名.方法名:
Student.say();
- 非静态方法:在Test类中实例化Student对象,然后对象名.方法名:
Student st = new Student();
st.say();
- 需要指出的是,就算是一个类调用自己类中的方法,如果是static静态方法,可以直接调用;如果是非静态方法,也和上边一样,要不改为静态方法,要不就要实例化对象。
- 两个静态方法可以相互调用,两个非静态方法可以相互调用。但是因为static静态方法是和类一起加载的,类存在的时候这个方法就已经存在了,而非静态方法是在类实例化之后才存在,所以非静态方法可以调用静态方法,静态方法不可以调用非静态方法。