A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ELine 中级黑马   /  2015-1-3 23:56  /  1392 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Cat {

        public void say(){
                System.out.println("基类说hello");
        }
       
}

class SCat extends Cat {
        public void say(){
                super.say();
                System.out.println("子类说hello");
        }}

public class Extend {
        public static void main(String[] args) {
                SCat sCat = new SCat();
                sCat.say();
        }
}

SCat类创建了对象,类中的this有了指向,但是基类是没有创建对象的,那么super是指向哪里



9 个回复

倒序浏览
经过运行,发现super指向的父类,所以,虽然基类没有创建对象,但是你的子类继承了父类,并重写了父类方法,而super就是指向的父类。我是这样理解的,不知道对不对。
回复 使用道具 举报
在子类中,调用父类方法,super.xxx()
在子类中有一个默认的构造方法,与父类联系
回复 使用道具 举报 1 0
super是指向无参构造函数...
回复 使用道具 举报
super指向父类的无参构造函数吧
回复 使用道具 举报
因为是默认构造,其实子类创建已经调用父类的构造函数创建父类对象了。
回复 使用道具 举报
来学习的
回复 使用道具 举报
3Q           
回复 使用道具 举报
楼主只需要记住,super指向的永远都是当前类的父类即可。如果当前类没有继承关系,放心吧,super指向的是Object类
回复 使用道具 举报
super执行父类默认的空参数的构造函数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马