zoukankan      html  css  js  c++  java
  • super返回不过来

    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确实做不到的。

    我还说不清楚为什么?

     

     

     

    reference:

           1. 《疯狂java,突破程序员基本功的16课》 李刚。

  • 相关阅读:
    获取当前具有输入焦点控件的窗口句柄
    C++日志
    IsWindowVisible
    fedora20 播放aiv视频
    nginx 伪静态大于10个参数 $10
    fedora 安装nginx+php+mysql
    限制图片目录有文件的执行权限
    jQuery制作go to top按钮
    centos 6.5 安装阿里云的一键安装包(nginx+php5.4+mysql5.1)
    centos 6.5网卡dhcp不能获得网关
  • 原文地址:https://www.cnblogs.com/haore147/p/4214699.html
Copyright © 2011-2022 走看看