| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2951 人关注过本帖
标题:[讨论]关于私有方法在继承中的疑问
取消只看楼主 加入收藏
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
 问题点数:0 回复次数:9 
[讨论]关于私有方法在继承中的疑问

class Test2 extends Test{
public void f1(){
System.out.println("public f1()");
}
}

public class Test {
private void f1(){
System.out.println("private f1()");
}
public static void main(String args[]){
Test t=new Test2();
t.f1();
}
}
该代码结果为:private f1()
主类的私有方法子类是看不见的,所以子类无法调用父类的私有方法。这里相当于子类重新写了一个f1()方法。问题在于,t是指向Test2类的对象,应该调用子类对象的方法啊,为什么结果还是调用父类方法?

搜索更多相关主题的帖子: 疑问 子类 public Test void 
2007-08-10 10:57
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 

class P1{
private void p1(){
System.out.println("p1");
}
}

class P2 extends P1{
public void p1(){
System.out.println("p2");
}
}
public class PrivateOverriding {
public static void main(String args[]){
P1 p=new P2();
p.p1(); //这里出错,因为p1()对于p这个对象来说是不可见的
}
}
为什么这里会出错?而在上面一个例子里面又不会出错?类创建的引用到底是怎么一回事啊?


I'm here, as always...
2007-08-10 11:03
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 

那么我想知道,P1 p=new P2()和P2 p=new P2()有什么区别?他们创建的引用不都是指向P2类的新对象的吗?


I'm here, as always...
2007-08-10 11:31
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 
P1 p=new P2()和P2 p=new P2()的具体区别是什么啊?如果P1是P2的父类的话。

I'm here, as always...
2007-08-10 14:18
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 
也就是说,P1 p=new P2()实际上p是指向一个P1类的对象了?不能调用P2类有而P1类没有的方法?

I'm here, as always...
2007-08-10 14:56
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 
那就普通的情况来说,什么时候会用父类的引用指向子类的对象呢?这样做有什么好处吗在实际应用中?

I'm here, as always...
2007-08-10 15:05
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 
目前我就在看这本书,看到这个地方才有问题的...
我只有英文版...

I'm here, as always...
2007-08-10 15:12
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 

谢啦!不过公司里没法用QQ,MSN等工具,外网也被封了,晚上回去我加你


I'm here, as always...
2007-08-10 15:21
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 

啊,终于想通了!谢谢大家!


I'm here, as always...
2007-08-10 16:51
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
收藏
得分:0 
挖坟...

I'm here, as always...
2008-04-02 15:07
快速回复:[讨论]关于私有方法在继承中的疑问
数据加载中...
 
   



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

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