作者zeat (Lucifer)
看板java
标题Re: [问题] 阵列可以存不同型态的内容吗?
时间Sat May 9 20:09:57 2009
嗯, 之前刚好有练习过, 凭藉印象写一下.
interface type
{
public String myType();
}
class A implements type
{
private String name; //好古板的写法=..=
public A (String n){name=n;}
public Stirng myType(){return name;}
}
class B implements type
{
private String name; //好古板的写法=..=
public B (String n){name=n;}
public Stirng myType(){return name;}
}
public class main
{
public static void main(String args[])
{
print(new A("A"));
print(new B("B"));
}
public static void print(type t)
{
System.out.println(t.myType());
}
}
大概是这种感觉, 我刚刚试过, 是可以执行的. (虽然第一次
有出错, 没有靠IDE果然容易打错一些字Orz)
※ 引述《choYM (肉羹面冰沙)》之铭言:
: 引述《choYM (肉羹面冰沙)》之铭言:
: 会想问这个问题是因为要用多型没错,指示好像还是有点问题..
: class cls_A {
: public char ch_o;
: public void getChar() {
: return ch_o;
: }
: }
: class cls_B {
: public char ch_X;
: public void getChar() {
: return ch_X;
: }
: }
: 以下是main:
: Object[] foo = new Object[2];
: cls_A a = new cls_A('o'); // 宣告一个cls_A物件a
: cls_B b = new cls_B('X'); // 宣告一个cls_B物件b
: for (int i=0; i<2; i++)
: foo[i] = new Object(); // 初始化.
: foo[0] = a;
: foo[1] = b;
: for (int i=0; i<2; i++) // 印出字元
: System.out.println(foo[i].getChar());
: 会有错误..
: 我翻书找过好像是downcasting的问题(我不确定),
: 请问有什麽方法可以解决还是要改进的吗?
: 谢谢。
--
重要的是"心"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.232.209.234
1F:→ choYM:谢谢!! <(_ _)> 05/10 13:00