什么是静态方法 什么是非静态方法
静态方法 加了static修饰符的变量或者方法 一般通过 类名.变量名 来调用
非静态方法 没有加static的方法 通过对象.变量名来调用
示例
package com.oop.demo01;
public class Demo02 {
public static void main(String[] args) {
// 静态方法调用
a();
// 非静态方法调用
Demo02 demo = new Demo02();
demo.b();
}
// 静态方法 跟类一起加载
public static void a() {
System.out.println("我是静态方法 a");
// b(); // Non-static method ‘b()‘ cannot be referenced from a static context
// a是一个静态方法 此时 b方法还不存在 调用失败
}
// 非静态方法 类实例化后才存在
public void b() {
System.out.println("我是非静态方法 b");
d();
c();
}
public static void c(){
System.out.println("我是静态 C方法");
}
public void d(){
System.out.println("我是非静态方法 D方法");
}
}
输出结果
小结
静态方法跟类一起加载 非静态方法实例化后才加载
所以 静态方法中不能调用
非静态方法
而非静态方法可以调用 静态方法 及 非静态方法