不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學習啦>學習電腦>電腦硬件知識>硬件知識>

java語言怎么寫硬件接口編程

時間: 文輝886 分享

  你想知道程序員怎么用JAVA語言來寫硬件接口編程的嗎?今天就讓學習啦小編來教下大家吧,快來看看吧,希望能讓大家有所收獲!

  JAVA語言如何編寫硬件接口

  面向接口編程很重要的一點就是接口回調(diào),用接口聲明的變量稱作接口變量,屬于引用型變量,可以存放實現(xiàn)該接口的類的實例的引用,對象引用。

  接口回調(diào):可以把實現(xiàn)某一接口的類創(chuàng)建的對象的引用賦值給該接口聲明的接口變量,那么該接口變量就可以調(diào)用被類實現(xiàn)的接口方法

  Com com; //接口

  ImplCom object; //實現(xiàn)接口的對象

  com = object; //接口回調(diào),com會根據(jù)對象的不同而實現(xiàn)不同的接口方法,回調(diào)類重寫的接口方法

  接口和abstract類的比較如下:

  abstract類和接口都可以有abstract方法。

  接口中只可以有常量,不能有變量;而abstract類中既可以有常量也可以有變量。

  abstract類中也可以有非abstract方法,接口不可以。

  在設(shè)計程序時應(yīng)當根據(jù)具體的分析來確定是使用抽象類還是接口。abstract類除了提供重要的需要重寫的abstract方法外,也提供了子類可以繼承的變量和非abstract方法。如果某個重要問題需要使用繼承才能更好地解決,比如,子類需要重寫父類的abstract方法,還需要從父類繼承一些變量或繼承一些重要的非abstract方法,就可以考慮用abstract類。如果某個問題不需要繼承,只是需要若干個類給出某些重要的abstract方法的實現(xiàn)細節(jié),就可以考慮使用接口。

  使用接口編程的最重要的核心思想就是使用接口回調(diào),及接口變量存放實現(xiàn)該接口的類的對象的引用,從而接口變量就可以回調(diào)類實現(xiàn)的接口方法。

  public interface Advertisement {

  public void showAdvertisement();

  public String getCorpName();

  }

  2、設(shè)計AdvertisementBoard類(廣告牌),該類有一個show(Advertisement adver)方法,該方法的參數(shù)是接口Advertisement的類型,顯然該參數(shù)adver可以存放任何實現(xiàn)Advertisement接口的類的對象的引用,并回調(diào)類重寫的接口方法showAdvertisement()來顯示公司的廣告詞,回調(diào)類重寫的接口方法getCorpName來獲取公司名稱。

  public class AdvertisementBoard{

  public void show (Advertisement adver){

  System.out.println(adver.getCorpName()+"廣告詞");

  adver.showAdvertisement(); //接口回調(diào)

  }

  }

  實現(xiàn)接口的A公司類:

  8public class Acorp implement Advertisement {

  public void showAdvertisement(){

  System.out.println("AAAAAAAAAAAAAAAAA");

  }

  public String getCorpName(){

  return "A Corp";

  }

  }

  實現(xiàn)接口的B公司類:

  public class Bcorp implement Advertisement {

  public void showAdvertisement(){

  System.out.println("BBBBBBBBBBBBBBBBB");

  }

  public String getCorpName(){

  return "B Corp";

  }

  }

  運行住程序:

  public class test (){

  public state void main (string args[]){

  AdvertisementBoard board = new AdvertisementBoard();

  board.show(new Acorp());

  board.show(new Bcorp());

  }

  }

1688772