最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java基礎(chǔ)篇_有關(guān)接口和抽象類的幾道練習題(分享)

 更新時間:2017年06月19日 08:11:19   投稿:jingxian  
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)篇_有關(guān)接口和抽象類的幾道練習題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

呃,一定要理解之后自己敲?。?!這幾道題,使我進一步了解了接口和抽象類。

1.設(shè)計一個商品類 字段:

商品名稱,重量,價格,配件數(shù)量,配件制造廠商(是數(shù)組,因為可能有多個制造廠商)

要求: 有構(gòu)造函數(shù)

重寫 toString 方法

重寫 equals方法,進行兩件商品的比較

package TT;

import java.util.Arrays;

public class G {
  private int 重量;
  private String 商品名稱;
  private int 價格;
  private int 配件數(shù)量;
  private String[] 配件制造廠商列表;

  public G(int 重量, String 商品名稱, int 價格, int 配件數(shù)量, String[] 配件制造廠商列表) {
    super();
    this.重量 = 重量;
    this.商品名稱 = 商品名稱;
    this.價格 = 價格;
    this.配件數(shù)量 = 配件數(shù)量;
    this.配件制造廠商列表 = 配件制造廠商列表;
  }

  @Override
  public String toString() {
    return "G [重量=" + 重量 + ", 商品名稱=" + 商品名稱 + ", 價格=" + 價格 + ", 配件數(shù)量="
        + 配件數(shù)量 + ", 配件制造廠商列表=" + Arrays.toString(配件制造廠商列表) + "]";
  }

  public boolean equals(Object obj) {
    if (this == obj) {
      return true;
    }

    if (obj instanceof G) {
      G goods = (G) obj;

      if (this.重量 == goods.重量 && this.價格 == goods.價格
          && this.商品名稱.equals(goods.商品名稱) && this.配件數(shù)量 == goods.配件數(shù)量) {
        for (int i = 0; i < this.配件制造廠商列表.length; i++) {
          if (this.配件制造廠商列表[i] != goods.配件制造廠商列表[i]) {
            return false;
          }
        }
        return true;
      } else {
        return false;
      }
    } else {
      return false;
    }
  }
  //將測試類和上面的放一塊兒了
  public static void main(String[] args) {

    String[] 廠商列表1 = { "微軟", "索尼", "三星" };
    String[] 廠商列表2 = { "微軟", "索尼", "三星" };
    G g1 = new G(40, "電腦", 4000, 30, 廠商列表1);
    G g2 = new G(40, "顯示器", 4000, 30, 廠商列表2);

    System.out.println(g1);
    System.out.println(g2);

    System.out.println(g1.equals(g2));
  }
}

2.設(shè)計一個抽象類,并演示它的使用 (三級)

package TT;

 //抽象類
abstract class 數(shù)學老師標準{
abstract void 講數(shù)學();
abstract int add(int a,int b);
}
 
 //第二級抽象類
abstract class 普通數(shù)學老師標準 extends 數(shù)學老師標準{
void 講數(shù)學(){
System.out.println("我能講數(shù)學");
}
}

//第三級抽象類
class 真正的數(shù)學老師 extends 普通數(shù)學老師標準{ //注意這里能不能用abstract修飾,修飾了以后會對上下的影響
//可以重寫,也可以不重寫
void 講數(shù)學(){
System.out.println("我能講高數(shù)");
}
int add(int a,int b){
return a+b;
}
}
class Test{
  public static void main(String[] args) {
    數(shù)學老師標準 t1=new 真正的數(shù)學老師();
    int result=t1.add(44, 4444); 
    System.out.println("計算結(jié)果是:"+result);
    t1.講數(shù)學();
  }
}

3.設(shè)計一個接口, 并設(shè)計一個實現(xiàn)類,實現(xiàn)這個接口

package TT;

interface 銀行標準{
  int MONEY=9900000;
  void 取錢();
  void 存錢();
}

class 工商銀行 implements 銀行標準{
  public void 取錢(){
    System.out.println("錢進銀行了");
    }

  @Override//全部方法都拿來
  public void 存錢() {
    System.out.println("錢出去了");
    }
  }
public class Test {
  public static void main(String[]args){
     銀行標準 bank=new 工商銀行();
     bank.取錢();
     bank.存錢();
     
     System.out.println("銀行的老底是"+銀行標準.MONEY);//此處銀行標準用bank會報錯,The static field 銀行標準.MONEY should be accessed in a static way
    
  }

}

4.設(shè)計一個類,可以同時實現(xiàn)多個接口

package TT;

interface 建筑標準 {
  void kaimen();

  void guanmen();
}

interface 銀行標準 {
  int MONEY = 9999;

  void 取錢();

  void 存錢();
}

class 工商銀行 implements 銀行標準,建筑標準 {
  
  @Override
  public void kaimen() {
    System.out.println("我能開門");

  }

  @Override
  public void guanmen() {
    // TODO Auto-generated method stub
    System.out.println("我能關(guān)門");

  }

  @Override
  public void 取錢() {
    // TODO Auto-generated method stub
    System.out.println("我能取錢");
  }

  @Override
  public void 存錢() {
    // TODO Auto-generated method stub
    System.out.println("我能存錢");

  }

}

public class Test2 {
  public static void main(String[] args) {
    工商銀行 bank = new 工商銀行();
    bank.取錢();
    bank.存錢();
    System.out.println("銀行的底是" + 工商銀行.MONEY);

    bank.kaimen();
    bank.guanmen();
  }
}

5.設(shè)計一個類,在繼承一個類的同時,實現(xiàn)其的兩個接口(具體是什么接口自行設(shè)計)

package TT;
interface 建筑標準{
  void kaimen();
  void guamen();
}
interface 銀行標準
{
  int MONEY=900000; //接口中的變量,全相當于public static final 類型的
  void 取錢();
  void 存錢();
}


class 金融機構(gòu){
  void 貨幣流通(){
    System.out.println("貨幣流通");
  }
}
class 工商銀行 extends 金融機構(gòu) implements 銀行標準, 建筑標準 {

  public void 取錢() {
    System.out.println("錢進了銀行");
  }


  public void 存錢() {
    System.out.println("錢從銀行進行個人手里");  
  }


  @Override
  public void kaimen() {
    System.out.println("銀行有個大門,能打開");
    
  }


  @Override
  public void guamen() {
    System.out.println("銀行有個鐵門,關(guān)了以后誰都進不來了");
    
  }

}

class Test4{
  public static void main(String[] args) {
    工商銀行 bank=new 工商銀行(); 
    bank.取錢() ;
    bank.存錢() ;
    System.out.println("銀行的底是"+bank.MONEY);
    
    bank.kaimen(); 
    bank.guamen();

    bank.貨幣流通();
  
  }
}

最后的彩蛋彩蛋彩蛋!?。。?/p>

由于我在練習的時候?qū)⑦@幾個例題放在了同一個TT包下,一共有5個文件。最后的最后,上面的后三個例子開始報錯(比如報錯:The type 銀行標準 is already defined)。

啊啊啊啊,調(diào)試半個小時,都沒弄好。后來靜一下想,既然Eclipse提示XXX已經(jīng)定義了,是不是只要在同一個包下,無論你建立多少個類,里面都不能重復(fù)定義相同類名文件呢?之后就開始Delete兩個),果然,成功啦。仔細一想,既然同一個包下,公共類之間可以訪問,這種排同性就是驗證啊,也可以省下很多資源。

以上這篇Java基礎(chǔ)篇_有關(guān)接口和抽象類的幾道練習題(分享)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解如何在SpringBoot中自定義參數(shù)解析器

    詳解如何在SpringBoot中自定義參數(shù)解析器

    這篇文章主要為大家詳細介紹了如何在SpringBoot中實現(xiàn)自定義參數(shù)解析器,文中的示例代碼講解詳細,對我們學習或工作有一定幫助,需要的可以參考一下
    2022-05-05
  • 基于java Springboot實現(xiàn)教務(wù)管理系統(tǒng)詳解

    基于java Springboot實現(xiàn)教務(wù)管理系統(tǒng)詳解

    這篇文章主要介紹了Java 實現(xiàn)簡易教務(wù)管理系統(tǒng)的代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Java?MapStruct優(yōu)雅地實現(xiàn)對象轉(zhuǎn)換

    Java?MapStruct優(yōu)雅地實現(xiàn)對象轉(zhuǎn)換

    MapSturct?是一個生成類型安全,高性能且無依賴的?JavaBean?映射代碼的注解處理器,用它可以輕松實現(xiàn)對象轉(zhuǎn)換,下面就來和大家聊聊具體操作吧
    2023-06-06
  • JAVA數(shù)字千分位和小數(shù)點的現(xiàn)實代碼(處理金額問題)

    JAVA數(shù)字千分位和小數(shù)點的現(xiàn)實代碼(處理金額問題)

    這篇文章主要介紹了JAVA數(shù)字千分位和小數(shù)點的現(xiàn)實代碼(處理金額問題),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Android?Java判斷密碼強度方法實例(強度顯示)

    Android?Java判斷密碼強度方法實例(強度顯示)

    在現(xiàn)代社會中,密碼是確保我們個人信息和賬戶安全的重要手段之一,為了提高密碼的安全性,我們可以使用正則表達式來判斷密碼的強度,這篇文章主要給大家介紹了關(guān)于Android?Java判斷密碼強度(強度顯示)的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • 徹底解決tomcat中文亂碼問題方案

    徹底解決tomcat中文亂碼問題方案

    這篇文章主要介紹了徹底解決tomcat中文亂碼問題方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • java 多態(tài)性詳解及常見面試題

    java 多態(tài)性詳解及常見面試題

    這篇文章主要介紹了java 多態(tài)性詳解及常見面試題的相關(guān)資料,這里對java 的多態(tài)性做了資料整理,并列舉常見的關(guān)于多態(tài)性的面試題,需要的朋友可以參考下
    2016-11-11
  • java理論基礎(chǔ)Stream?reduce實現(xiàn)集合元素歸約

    java理論基礎(chǔ)Stream?reduce實現(xiàn)集合元素歸約

    這篇文章主要為大家介紹了java理論基礎(chǔ)Stream?reduce實現(xiàn)集合元素歸約示例詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • maven導(dǎo)入本地jar包的三種方式

    maven導(dǎo)入本地jar包的三種方式

    本文主要介紹了maven導(dǎo)入本地jar包的三種方式,?文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-04-04
  • Java通過JNI 調(diào)用動態(tài)鏈接庫DLL操作

    Java通過JNI 調(diào)用動態(tài)鏈接庫DLL操作

    這篇文章主要介紹了Java通過JNI 調(diào)用動態(tài)鏈接庫DLL操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11

最新評論

建瓯市| 司法| 兰溪市| 丰顺县| 松潘县| 马鞍山市| 邵阳县| 苍山县| 酒泉市| 林周县| 仲巴县| 浦北县| 安丘市| 响水县| 白沙| 绥德县| 山阳县| 湘乡市| 阳山县| 广丰县| 平泉县| 东兴市| 兖州市| 霞浦县| 鲜城| 冕宁县| 忻州市| 会泽县| 四平市| 兴义市| 长兴县| 平塘县| 五常市| 德昌县| 健康| 通许县| 辽阳县| 红安县| 祁连县| 锡林浩特市| 云阳县|