抽象类和接口有什么异同
class A{
int a = 0;
void f(){
System.out.println("A.f()");
}
}
class Solution extends A{
int a = 2;
@Override
void f(){
System.out.println("Solution.f()");
}
public static void main(String[] args) {
A a = new A();
//0
System.out.println(a.a);
a.f();//A.f()
A sou = new Solution();
/*
0,成员变量的值取父类还是子类,并不取决于创建对象的类型,而是取决于所定义变量的类型;
A sou = new Solution();
A是定义变量类型,sou的类型是A;
Solution是创建对象类型,sou是Solution的实例
*/
System.out.println(sou.a);
sou.f();//
}
}