1.成员变量
编译和运行都参考函数的左边
2.成员函数(非静态)
编译看左边,运行看右边
3.静态函数
编译和运行都看左边(静态方法不需要对象,直接类名调用即可)
public class Fu {
int a = 10;
public void show (){
System.out.println("show -----fu");
}
public static void fn(){
System.out.println("fn-----fu");
}
}
public class Zi extends Fu{
int a = 20;
int b = 30;
public void show(){
System.out.println("show----zi");
}
public static void fn(){
System.out.println("fn-----zi");
}
public void fn2(){
System.out.println("fn2-----zi");
}
}
public class DuoTaiText {
public static void main(String[] args) {
Fu f = new Zi();
System.out.println(f.a); //成员变量看左边
// System.out.println(f.b); 报错
// f.fn2(); 报错
f.show(); // 成员函数,运行时根据等号右边子类的来
//f.fn();
Fu.fn(); //静态方法可以直接调用
}
}
/*
10
show----zi
fn-----fu
*/