From 6922192da455bfefcd50a0c8802da7d1e13aae72 Mon Sep 17 00:00:00 2001 From: dichgrem Date: Wed, 7 Jan 2026 16:25:54 +0800 Subject: [PATCH] update:demo9 --- com/study/demo9/Outer.java | 30 ++++++++++++++++++++ com/study/demo9/PermissionSystem.java | 40 +++++++++++++++++++++++++++ com/study/demo9/TaskRunner.java | 19 +++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 com/study/demo9/Outer.java create mode 100644 com/study/demo9/PermissionSystem.java create mode 100644 com/study/demo9/TaskRunner.java diff --git a/com/study/demo9/Outer.java b/com/study/demo9/Outer.java new file mode 100644 index 0000000..7efc1ab --- /dev/null +++ b/com/study/demo9/Outer.java @@ -0,0 +1,30 @@ +package com.study.demo9; + +public class Outer { + public static void main(String[] args) { + Account account = new Account("张三", 1000.0); + System.out.println("Can pay 500: " + account.canPay(500)); + System.out.println("Can pay 1500: " + account.canPay(1500)); + } +} + +class Account { + private String ownerName; + private double balance; + + public Account(String ownerName, double balance) { + this.ownerName = ownerName; + this.balance = balance; + } + + public boolean canPay(double amount) { + SecurityChecker checker = new SecurityChecker(); + return checker.checkBalance(amount); + } + + class SecurityChecker { + boolean checkBalance(double amount) { + return balance >= amount; + } + } +} diff --git a/com/study/demo9/PermissionSystem.java b/com/study/demo9/PermissionSystem.java new file mode 100644 index 0000000..98f027c --- /dev/null +++ b/com/study/demo9/PermissionSystem.java @@ -0,0 +1,40 @@ +package com.study.demo9; + + +public class PermissionSystem { + public static void main(String[] args) { + User admin = new User("admin", "admin"); + User guest = new User("guest", "guest"); + + System.out.println("Admin can delete: " + admin.checkPermission("delete")); + System.out.println("Admin can read: " + admin.checkPermission("read")); + System.out.println("Guest can read: " + guest.checkPermission("read")); + System.out.println("Guest can delete: " + guest.checkPermission("delete")); + } +} + +class User { + private String username; + private String role; + + public User(String username, String role) { + this.username = username; + this.role = role; + } + + public boolean checkPermission(String operation) { + PermissionChecker checker = new PermissionChecker(); + return checker.hasPermission(operation); + } + + class PermissionChecker { + boolean hasPermission(String operation) { + if ("admin".equals(role)) { + return true; + } else if ("guest".equals(role)) { + return "read".equals(operation); + } + return false; + } + } +} diff --git a/com/study/demo9/TaskRunner.java b/com/study/demo9/TaskRunner.java new file mode 100644 index 0000000..0b18161 --- /dev/null +++ b/com/study/demo9/TaskRunner.java @@ -0,0 +1,19 @@ +package com.study.demo9; + +public class TaskRunner { + public void runTask() { + class LocalTask { + void execute() { + System.out.println("正在执行临时任务"); + } + } + + LocalTask task = new LocalTask(); + task.execute(); + } + + public static void main(String[] args) { + TaskRunner runner = new TaskRunner(); + runner.runTask(); + } +}