update:demo9

This commit is contained in:
dichgrem
2026-01-07 16:25:54 +08:00
parent a7c559d270
commit 6922192da4
3 changed files with 89 additions and 0 deletions

View File

@@ -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;
}
}
}

View File

@@ -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;
}
}
}

View File

@@ -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();
}
}