class A {
public void Fun1(int i) {
System.out.print(i);
}
public void Fun2(A a) {
a.Fun1(1);
Fun1(5); //这个没有参数,所以前面省略的是this,this代表本类,方法里面this是看方法的使用者
}
}
public class B extends A {
public void Fun1(int i) {
super.Fun1(i + 1);
}
public static void main(String[] args) {
B b = new B();
A a = new A();
a.Fun2(b); //用a对象调用a的方法,参数传进b对象。b是a的子类所以可以传进去
b.Fun2(a); //b对象调用,所以先看B的,B里没有但继承了A,所以看A的
}
}
2 5 1 6