→ choYM:謝謝!! <(_ _)> 05/10 13:00
嗯, 之前剛好有練習過, 憑藉印象寫一下.
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