| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3135 人关注过本帖
标题:【求助】遇到一个继承的问题想求助
取消只看楼主 加入收藏
jiari56
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-4-10
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
【求助】遇到一个继承的问题想求助
想请论坛前辈们指点下这个问题出现这样结果的原因,代码如下:
Country.java:
程序代码:
package cn.myself;

class Country{
    String name="xianfan";
    
    String value(String name){
        name = "China";
        return name;
    }
}


City.java:
程序代码:
package cn.myself;

class  City extends Country{
    String name;
    String value(String name){
        name = "Hefei";
        super.value("成功");
        System.out.println(name);
        System.out.println(super.name);
        return name;
    }
    public static void main(String[] args) {

        City c=new City();

        String a = c.value("失败");
        System.out.println(a);

        }
}

运行结果是:
Hefei
xianfan
Hefei


我思考了很久,也找了一些课程的super看了看,我知道this和super的用法,但这个例子出现的结果让人难以明白运行过程中发生了什么情况,实在想不通,特地前来论坛提问寻求前辈们指点帮助!

[此贴子已经被作者于2016-4-10 05:11编辑过]

搜索更多相关主题的帖子: China 
2016-04-10 05:08
jiari56
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-4-10
收藏
得分:0 
回复 3楼 Tony_PC
谢谢前辈打了这样多字解我疑惑,我在仔细看您的解答,如果有不明白的地方可能会再次向您提问,谢谢您了
2016-04-10 15:30
jiari56
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-4-10
收藏
得分:0 
回复 2楼 alice_usnet
我只知道类名前如果有public的话那么类名必须和源文件名保持一致,但是具体底层是怎样一种原理我没有研究过,暂时只是这样知道着
2016-04-10 15:32
jiari56
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-4-10
收藏
得分:0 
回复 3楼 Tony_PC
谢谢前辈指点!到现在终于想明白了,第一个是因为没有用name去接收传递过来的name值所以本地依然name是"hefei",第二个结果是因为父类的方法里没有用this把它存储为对象属性而只是形参,依然是离开方法了即不存在了,所以成员属性依然是"xianfan",前辈,我这样理解是不是正确的呢?
2016-04-10 16:18
jiari56
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-4-10
收藏
得分:0 
回复 8楼 Tony_PC
确实是这样的,我后来改成其他形参确实结果变了,谢谢前辈指点!我的基础还是太薄弱了
2016-04-11 05:39
快速回复:【求助】遇到一个继承的问题想求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033519 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved