标题:问个小问题
只看楼主
angelnana
Rank: 1
等 级:新手上路
帖 子:178
专家分:0
注 册:2007-8-13
 问题点数:0 回复次数:17 
问个小问题
JFrame frame = new ImageViewerFrame();
ImageViewerFrame 是继承于JFrame 的,那么和
ImageViewerFrame frame = new ImageViewerFrame();有什么区别呢?
好像经常看见前面写父类,new后面写子类的写法,比如说list
有什么区别呢
搜索更多相关主题的帖子: frame new JFrame list 
2008-07-30 11:27
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
得分:0 
建议LZ复习一下Java继承那一章的内容

I'm here, as always...
2008-07-30 11:44
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
得分:0 
假设A是B的父类
A a = new B();
a其实是A类型的引用,因此,只能使用A类的方法但是不能使用B类的方法。
为什么可以用“=”号呢?
我们可以说方形是图形,但是不能说图形是方形。方形是图形的子类,所以说方形是图形
B b = new B();
这个就是完全能够使用B类中的所有方法了

I'm here, as always...
2008-07-30 12:30
angelnana
Rank: 1
等 级:新手上路
帖 子:178
专家分:0
注 册:2007-8-13
得分:0 
回复 3# hwoarangzk 的帖子
那A a = new B();
a其实是A类型的引用,因此,只能使用A类的方法但是不能使用B类的方法。
既然这样,直接写A a = new A();就可以了阿

2008-07-30 12:36
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
得分:0 
public static void test(A a);
假设有一个这个方法,那么
A a = new B();
你可以将这个引用作为参数传进去的

I'm here, as always...
2008-07-30 12:42
angelnana
Rank: 1
等 级:新手上路
帖 子:178
专家分:0
注 册:2007-8-13
得分:0 
还是没明白!!!

2008-07-30 12:45
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
得分:0 
那么你可以通过这个方法操作B类型的对象了啊,不用对每个类型都写一个方法

I'm here, as always...
2008-07-30 12:46
angelnana
Rank: 1
等 级:新手上路
帖 子:178
专家分:0
注 册:2007-8-13
得分:0 
你不是说不能用用B类的方法吗

2008-07-30 12:50
hwoarangzk
Rank: 4
来 自:冰封王座
等 级:贵宾
威 望:12
帖 子:1894
专家分:0
注 册:2007-7-17
得分:0 
操作B类型的对象不一定非要用B类型的方法啊

I'm here, as always...
2008-07-30 12:51
angelnana
Rank: 1
等 级:新手上路
帖 子:178
专家分:0
注 册:2007-8-13
得分:0 
那为什么要写B呢,不写A呢
我就是不明白

2008-07-30 12:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-225914-1-1.html




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

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