1.子类的访问修饰符要大于或者等于父类的范围
class A{
public void m(){}
}
class B extends A{
void m(){}
}
这个时候子类的访问范围比父类小,我们姑且算它是对的进行反推
A a =new B();//向上转型
a.m();//a对象是由A类申明,就可以去调用A中的方法,m()在任意位置都可以访问。
a.m();//调用方法的时候具体的执行看子类,就可以去调用B类中的m(),可以在本身+
1.子类的访问修饰符要大于或者等于父类的范围
class A{
public void m(){}
}
class B extends A{
void m(){}
}
这个时候子类的访问范围比父类小,我们姑且算它是对的进行反推
A a =new B();//向上转型
a.m();//a对象是由A类申明,就可以去调用A中的方法,m()在任意位置都可以访问。
a.m();//调用方法的时候具体的执行看子类,就可以去调用B类中的m(),可以在本身+