你是想问:我在子类复写了父类的方法,可是为什么最后结果打印的是A而不是B 对吧! 不知道为什么类结束都多了一个分号 难道是另一种格式么?- class A{ // 定义父类
- private void print(){ // 默认的访问权限
- System.out.println("A") ;
- }
- public void fun(){ // 定义一个fun方法
- this.print() ; // -----2-----调用本类的print()方法 打印的结果就是A了 如果你在子类复写这个方法的话 那打印的结果就是B了
- }
- }
- class B extends A{ // 定义继承关系
- void print(){ // 覆写父类中的方法
- System.out.println("B") ;
- }
- }
- public class Demo{
- public static void main(String args[]){
- B b = new B() ;
- b.fun() ; //----1----调用fun()方法的时候因为子类没有复盖父类的方法,所以就会去调用父类的fun()方法!
- }
- }
复制代码 |