博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
super返回不过来
阅读量:6910 次
发布时间:2019-06-27

本文共 982 字,大约阅读时间需要 3 分钟。

class Fruit 

    String color = "未确定颜色"; 
    //定义一个方法,该方法返回调用该方法的实例 
    public Fruit getThis() 
    { 
        return this; 
    } 
    public void info() 
    { 
        System.out.println("Fruit方法"); 
    } 
public class Apple extends Fruit 
    //重写父类的方法 
    @Override 
    public void info() 
    { 
        System.out.println("Apple方法"); 
    } 
    //通过super调用父类的Info()方法 
    public void AccessSuperInfo() 
    { 
        super.info(); 
    } 
    //尝试返回super关键字代表的内容 
    public Fruit getSuper() 
    { 
        return super.getThis(); 
    } 
    String color = "红色"; 
    public static void main(String[] args) 
    { 
        //创建一个Apple对象 
        Apple a = new Apple(); 
        //调用getSuper()方法获取Apple对象关联的super引用 
        Fruit f = a.getSuper(); 
        //判断a和f的关系 
        System.out.println("a和f所引用的对象是否相同:" + (a == f)); 
        System.out.println("访问a所引用对象的color实例变量:" + a.color); 
        System.out.println("访问f所引用对象的color实例变量:" + f.color); 
        //分别通过a、f两个变量来调用info方法 
        a.info(); 
        f.info(); 
        //调用AccessSuperInfo来调用父类的info()方法 
        a.AccessSuperInfo(); 
    } 
}

 

在上面的代码中,return this 可以将当前对象的引用返回过来,但是return super确实做不到的。

我还说不清楚为什么?

 本文转自二郎三郎博客园博客,原文链接:http://www.cnblogs.com/haore147/p/4214699.html,如需转载请自行联系原作者

你可能感兴趣的文章
php output_buffering 缓存使用
查看>>
深度学习和神经网络的区别是什么
查看>>
Decorator模式
查看>>
每日练习
查看>>
LeetCode算法题-First Unique Character in a String(Java实现)
查看>>
【小程序】小程序开发自定义组件的步骤>>>>>>>>>小程序开发过程中报错:jsEnginScriptError...
查看>>
OSI模型
查看>>
用Quick Cocos2dx做一个连连看(三)
查看>>
好久没做.Net开发了,今天配置IIS和.Net Framework 4.0遇到点问题
查看>>
emoji情感分类器
查看>>
简单理解java反射机制
查看>>
Codeforces 399B - Red and Blue Balls
查看>>
实验五
查看>>
Qt资源
查看>>
n个骰子的点数
查看>>
Linux硬盘扩容(非LVM)
查看>>
glibc malloc常驻内存不释放问题抽象
查看>>
insufficient space
查看>>
linux获取CPU温度
查看>>
linux c 链接详解2-定义和声明
查看>>