From 8fae402a2b3bfd6eb9fab6f94ed7f00681fa5ec1 Mon Sep 17 00:00:00 2001 From: sltap Date: Mon, 22 Aug 2022 10:37:49 -0400 Subject: [PATCH] 14.7 --- src/main/java/com/github/hcsp/polymorphism/Home.java | 2 +- src/main/java/com/github/hcsp/polymorphism/Home2.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/github/hcsp/polymorphism/Home.java b/src/main/java/com/github/hcsp/polymorphism/Home.java index 2a6d11a..02567cb 100644 --- a/src/main/java/com/github/hcsp/polymorphism/Home.java +++ b/src/main/java/com/github/hcsp/polymorphism/Home.java @@ -21,7 +21,7 @@ private void log(Cat cat) { // 在这个类里会产生一个编译错误 // 请思考一下为什么 // 并将此类改写成非静态的内部类,以修复此问题 - static class CatNameCollector implements Consumer { + class CatNameCollector implements Consumer { private List catNames = new ArrayList<>(); @Override diff --git a/src/main/java/com/github/hcsp/polymorphism/Home2.java b/src/main/java/com/github/hcsp/polymorphism/Home2.java index ed83c31..37b3687 100644 --- a/src/main/java/com/github/hcsp/polymorphism/Home2.java +++ b/src/main/java/com/github/hcsp/polymorphism/Home2.java @@ -23,12 +23,12 @@ static class CatNameCollector implements Consumer { // 请思考一下为什么 // 不要将此类改写成非静态的内部类 // 而是引入一个外围类的实例以调用外围类的实例方法 - // private Home2 home; + private Home2 home; private List catNames = new ArrayList<>(); @Override public void accept(Cat cat) { - log(cat); + home.log(cat); catNames.add(cat.getName()); }