package com.example;
public class Test {
public static void main(String[] args) {
B b = new B();
b.bb();
}
}
class A {
private String a = "a";
public void visit() {
System.out.println(this.a);
System.out.println(this.getClass());
getPresenter().output();
}
protected Presenter mPresenter;
public void setPresenter(Presenter presenter) {
mPresenter = presenter;
}
protected Presenter getPresenter() {
return mPresenter;
}
public class Presenter{
public void output(){
System.out.println("A:output");
}
}
}
class B extends A {
public B() {
super();
setPresenter(new Presenter());
}
private String a = "b";
public void bb() {
visit();
}
public class Presenter extends A.Presenter{
public void output(){
System.out.println("B:output");
}
}
}