[問題] 練習遇到有關繼承、介面、抽象類別的問題
最近讀到了介面,所以創了一個名叫Phone 的抽象類別、兩個分別叫SurfInternet
和Chat的介面,但編譯過程一直出現錯誤,說非static的方法不能被static的東西給關
聯,但我就是沒看到有東西被我用成static啊!拜託各位幫幫我。
interface SurfInternet
{
void SurfInternet(String WebName);
}
interface Chat
{
void Chat(String ToWhom);
}
abstract class Phone
{
int price;
abstract void expensive();
void PrintPrice()
{
System.out.println("Price="+price);
}
}
class Sony extends Phone implements SurfInternet,Chat
{
public Sony(int price,String WebName,String ToWhom)
{
this.price=price;SurfInternet(WebName);Chat(ToWhom);
}
public void Chat(String ToWhom)
{
System.out.println("Talking to "+ToWhom);
}
public void SurfInternet(String WebName)
{
System.out.println("Surfing "+WebName);
}
public void expensive()
{
System.out.println("It is so expensive!");
}
}
public class Test
{
public static void main(String[] args)
{
Sony sony=new Sony(10000,"yahoo","John");
Sony.expensive();
}
}
結果:
Test.java:42: error: non-static method expensive() cannot be referenced from a static context
Sony.expensive();
^
1 error
到底~~~﹍﹍
不知道我有沒有理解錯,介面比抽象類別還要更抽象簡潔,抽象類別是給和自己有關連的東西繼承的,
而介面只是要給他多個功能用而已。然後還是搞不懂這兩個東西到底有什麼實際用途,就算沒有這兩個東西
好像也不會怎樣,難道他們只是用來定義東西的嗎?
→
09/26 16:57, , 1F
09/26 16:57, 1F
→
09/26 17:00, , 2F
09/26 17:00, 2F
那個介面到底是有什麼實際用途呢,看了課本範例:
interface IArea {
void area();
}
class Circle implements IArea{
public void area(){...}
}
這樣子和下面這到底差在哪邊?
class Circle{
public void area(){...}
}
感覺抽象類別和介面很多此一舉啊!現在我只能夠死記有這種寫法﹍
有神人可以開導我嗎?感謝
推
09/26 17:21, , 3F
09/26 17:21, 3F
我現在正是在看介面和多形這邊,但是就算他們繼承了也還是要自己打一遍啊,譬如:
interface A{
void A();
}
class B implements A{
public void A(BBB);
}
class C implements A{
public void A(CCC);
}
那我有沒有加那個interface做的事情不是都一樣嗎?
同理,抽象類別同樣讓我有這種感覺﹍,還是說他們只是概念上的用途?
※ 編輯: s9209122222 (122.117.207.31), 09/26/2015 17:31:38
推
09/26 17:48, , 4F
09/26 17:48, 4F
→
09/26 17:48, , 5F
09/26 17:48, 5F
→
09/26 17:49, , 6F
09/26 17:49, 6F
→
09/26 17:49, , 7F
09/26 17:49, 7F
→
09/26 17:50, , 8F
09/26 17:50, 8F
→
09/26 17:50, , 9F
09/26 17:50, 9F
→
09/26 17:51, , 10F
09/26 17:51, 10F
→
09/26 17:51, , 11F
09/26 17:51, 11F
→
09/26 17:52, , 12F
09/26 17:52, 12F
→
09/26 17:52, , 13F
09/26 17:52, 13F
→
09/26 17:54, , 14F
09/26 17:54, 14F
→
09/26 17:55, , 15F
09/26 17:55, 15F
→
09/26 17:55, , 16F
09/26 17:55, 16F
→
09/27 16:56, , 17F
09/27 16:56, 17F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章