实例方法和静态方法的区别

方法类型调用方式
静态方法 (static)类名.方法名()方法名()(在同一个类中)
实例方法(非 static对象名.方法名()

🚀 推荐记住

  • 如果方法是 static,可以直接调用。
  • 如果方法不是 static,必须先创建对象,然后通过对象调用方法。

示例如下:

静态方法static的使用

import java.time.LocalDateTime;

public class Exercise {
    public static void main(String[] args) {
        while (true) { // 无限循环,不断检查秒数
            int second = LocalDateTime.now().getSecond();
            
            if (second % 5 == 0) { // 每 5 秒执行一次
                System.out.println(isLightGreen());
            }

            try {
                Thread.sleep(1000); // 让线程暂停 1 秒,防止 CPU 过载
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    public static String isLightRed() { // 改为 static
        return "STOP";
    }

    public static String isLightGreen() { // 改为 static
        return "GO";
    }

    public static String isLightYellow() { // 改为 static
        return "SLOW";
    }
}

实例方法的使用

import java.time.LocalDateTime;

public class Exercise {
    public static void main(String[] args) {
        Exercise exercise = new Exercise(); // ✅ 创建对象
        
        while (true) { // 无限循环,不断检查秒数
            int second = LocalDateTime.now().getSecond();
            
            if (second % 5 == 0) { // 每 5 秒执行一次
                System.out.println(exercise.isLightGreen()); // ✅ 通过对象调用
            }

            try {
                Thread.sleep(1000); // 让线程暂停 1 秒,防止 CPU 过载
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    public String isLightRed() { // 不再是 static
        return "STOP";
    }

    public String isLightGreen() { // 不再是 static
        return "GO";
    }

    public String isLightYellow() { // 不再是 static
        return "SLOW";
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值