Arvin_ghost
2015-06-04 13:31
采纳率: 52.2%
浏览 2.4k
已采纳

JAVA 子类方法都可以使用super吗

是不是在子类中的方法都可以使用super来调用父类的同名方法?
不仅仅是构造方法?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • JonsonJiao 2015-06-04 14:26
    已采纳

    除了私有方法,其他都是可以调用的,public 和protected不多说了,default的看下面的例子就行了,已经通过运行了。另外就是不要用到static修饰的变量、方法和代码块中。

    public class Country {
    
        String name;
    
        void value() {
            name = "China";
        }
    }
    
    public class City extends Country {
    
        String name;
    
        void value() {
            name = "beijing";
            super.value();
            System.out.println("子类City的name:" + name);
            System.out.println("父类Country的name:" + super.name);
        }
    
        public static void main(String[] args) {
            City c = new City();
            c.value();
        }
    }
    
    
    点赞 打赏 评论
  • bdmh 2015-06-04 13:33

    私有方法不能调用,public和protected的可以

    点赞 打赏 评论
  • blownewbee 2015-06-04 13:33

    必须是公有的、保护的,并且非静态的方法才行。

    点赞 打赏 评论
  • LogicTeamLeader 2015-06-04 14:11

    我就说说不能调用的情况吧:
    1.private方法肯定不能调用,因为子类无法访问父类的private方法;
    2.static方法不能调用,static方法不会被继承的,所有父类、子类共用一份;
    3.virtual方法不能调用,因为这个方法就没有实现;

    点赞 打赏 评论

相关推荐 更多相似问题