亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

商品名稱,重量,價(jià)格,配件數(shù)量,配件制造廠商(是數(shù)組,因?yàn)榭赡苡卸鄠€(gè)制造廠商)

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

重寫 toString 方法

重寫 equals方法,進(jìn)行兩件商品的比較

package TT;

import java.util.Arrays;

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

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

  @Override
  public String toString() {
    return "G [重量=" + 重量 + ", 商品名稱=" + 商品名稱 + ", 價(jià)格=" + 價(jià)格 + ", 配件數(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.價(jià)格 == goods.價(jià)格
          && 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;
    }
  }
  //將測(cè)試類和上面的放一塊兒了
  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è)計(jì)一個(gè)抽象類,并演示它的使用 (三級(jí))

package TT;

 //抽象類
abstract class 數(shù)學(xué)老師標(biāo)準(zhǔn){
abstract void 講數(shù)學(xué)();
abstract int add(int a,int b);
}
 
 //第二級(jí)抽象類
abstract class 普通數(shù)學(xué)老師標(biāo)準(zhǔn) extends 數(shù)學(xué)老師標(biāo)準(zhǔn){
void 講數(shù)學(xué)(){
System.out.println("我能講數(shù)學(xué)");
}
}

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

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

package TT;

interface 銀行標(biāo)準(zhǔn){
  int MONEY=9900000;
  void 取錢();
  void 存錢();
}

class 工商銀行 implements 銀行標(biāo)準(zhǔn){
  public void 取錢(){
    System.out.println("錢進(jìn)銀行了");
    }

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

}

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

package TT;

interface 建筑標(biāo)準(zhǔn) {
  void kaimen();

  void guanmen();
}

interface 銀行標(biāo)準(zhǔn) {
  int MONEY = 9999;

  void 取錢();

  void 存錢();
}

class 工商銀行 implements 銀行標(biāo)準(zhǔn),建筑標(biāo)準(zhǔn) {
  
  @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è)計(jì)一個(gè)類,在繼承一個(gè)類的同時(shí),實(shí)現(xiàn)其的兩個(gè)接口(具體是什么接口自行設(shè)計(jì))

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


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

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


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


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


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

}

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

    bank.貨幣流通();
  
  }
}

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

由于我在練習(xí)的時(shí)候?qū)⑦@幾個(gè)例題放在了同一個(gè)TT包下,一共有5個(gè)文件。最后的最后,上面的后三個(gè)例子開始報(bào)錯(cuò)(比如報(bào)錯(cuò):The type 銀行標(biāo)準(zhǔn) is already defined)。

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

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

相關(guān)文章

  • java輸入數(shù)字,輸出倒序的實(shí)例

    java輸入數(shù)字,輸出倒序的實(shí)例

    這篇文章主要介紹了java輸入數(shù)字,輸出倒序的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java如何使用Set接口存儲(chǔ)沒有重復(fù)元素的數(shù)組

    Java如何使用Set接口存儲(chǔ)沒有重復(fù)元素的數(shù)組

    Set是一個(gè)繼承于Collection的接口,即Set也是集合中的一種。Set是沒有重復(fù)元素的集合,本篇我們就用它存儲(chǔ)一個(gè)沒有重復(fù)元素的數(shù)組
    2022-04-04
  • Java創(chuàng)建和啟動(dòng)線程的兩種方式實(shí)例分析

    Java創(chuàng)建和啟動(dòng)線程的兩種方式實(shí)例分析

    這篇文章主要介紹了Java創(chuàng)建和啟動(dòng)線程的兩種方式,結(jié)合實(shí)例形式分析了java多線程創(chuàng)建、使用相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-09-09
  • 透過Spring源碼查看Bean的命名轉(zhuǎn)換規(guī)則圖文詳解

    透過Spring源碼查看Bean的命名轉(zhuǎn)換規(guī)則圖文詳解

    Java Bean是一種 Java 編程語言編寫的可重用軟件組件,包括符合一定規(guī)范的Java 類、屬性和方法,用于描述和處理應(yīng)用程序中的數(shù)據(jù)對(duì)象,下面這篇文章主要給大家介紹了關(guān)于透過Spring源碼查看Bean的命名轉(zhuǎn)換規(guī)則的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • Java中如何正確重寫equals方法

    Java中如何正確重寫equals方法

    Object類中equals方法比較的是兩個(gè)對(duì)象的引用地址,只有對(duì)象的引用地址指向同一個(gè)地址時(shí),才認(rèn)為這兩個(gè)地址是相等的,否則這兩個(gè)對(duì)象就不相等
    2021-10-10
  • java中以DES的方式實(shí)現(xiàn)對(duì)稱加密并提供密鑰的實(shí)例

    java中以DES的方式實(shí)現(xiàn)對(duì)稱加密并提供密鑰的實(shí)例

    這篇文章主要介紹了java中以DES的方式實(shí)現(xiàn)對(duì)稱加密并提供密鑰的實(shí)例的相關(guān)資料,這里提供實(shí)例幫助大家學(xué)習(xí)理解這部分知識(shí),需要的朋友可以參考下
    2017-08-08
  • MyBatis-Plus使用sl4j日志打印SQL的代碼詳解

    MyBatis-Plus使用sl4j日志打印SQL的代碼詳解

    以下是關(guān)于使用 Spring Boot 起始器替換 slf4j-api 和 logback 依賴的詳細(xì)步驟和注意事項(xiàng),包括 MyBatis-Plus 的默認(rèn)日志級(jí)別信息,需要的朋友可以參考下
    2024-10-10
  • springboot如何獲取請(qǐng)求者的ip地址

    springboot如何獲取請(qǐng)求者的ip地址

    在Spring框架中,可以使用攔截器(Interceptor)來監(jiān)聽每個(gè)控制器(Controller)的請(qǐng)求,并記錄請(qǐng)求者的IP地址,這篇文章主要介紹了springboot如何獲取請(qǐng)求者的ip地址,需要的朋友可以參考下
    2024-07-07
  • 淺談一下Java線程組ThreadGroup

    淺談一下Java線程組ThreadGroup

    ThreadGroup是為了方便線程管理出現(xiàn)了,可以統(tǒng)一設(shè)定線程組的一些屬性,比如setDaemon,設(shè)置未處理異常的處理方法,設(shè)置統(tǒng)一的安全策略等等,需要的朋友可以參考下
    2023-05-05
  • java結(jié)合email實(shí)現(xiàn)自動(dòng)推送功能

    java結(jié)合email實(shí)現(xiàn)自動(dòng)推送功能

    這篇文章主要介紹了java結(jié)合email實(shí)現(xiàn)自動(dòng)推送功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03

最新評(píng)論