如下代码,想得到这样结果execute AA before execute..C execute AA after
应该怎么处理
public class Test {
public static void main(String[] args) {
C c = new C();
c.A();
}
}
interface YY {
public void A();
}
abstract class A implements YY{
public void A() {
System.out.println("execute AA before");
A();
System.out.println("execute AA after");
}
}
class B extends A {
public void B() {
System.out.println("execute B");
}
}
class C extends B implements YY{
@Override
public void A() {
System.out.println("execute..C");
}
}
只是换一种思维
```public class Test {
public static void main(String[] args) {
C c = new C();
c.A(12);
c.BB();
}
}
interface YY {
public void A();
}
abstract class A implements YY{
public void A(int a) { // 只是换一种思维
System.out.println("execute AA before");
A();
System.out.println("execute AA after");
}
}
abstract class B extends A {
public void BB() {
System.out.println("execute B");
}
}
class C extends B implements YY{
@Override
public void A() {
System.out.println("execute..C");
}
}
建议去看看多态的概念
去看一下 java的三大特性:继承、封装和多态吧