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

Java面向?qū)ο缶幊蹋ǚ庋b/繼承/多態(tài))實例解析

 更新時間:2017年10月27日 09:52:22   作者:書思BookReflect  
這篇文章主要介紹了Java面向?qū)ο缶幊蹋ǚ庋b/繼承/多態(tài))實例解析的相關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以了解下。

本文主要介紹了面向?qū)ο蟮娜筇卣鲗嵗馕?,下面看看具體內(nèi)容。

封裝

封裝一個Teacher和Student類

package com.hz.test;
public class Teacher {
  private String name;
  private String majorDirection;
  private String teachCourse;
  private int teachAge;
  public Teacher() {
    super();
  }
  public Teacher(String name,String majorDirection,String teachCourse,int teachAge) {
    this.name = name;
    this.majorDirection = majorDirection;
    this.teachCourse = teachCourse;
    this.teachAge = teachAge;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public String getMajorDirection() {
    return majorDirection;
  }
  public void setMajorDirection(String majorDirection) {
    this.majorDirection = majorDirection;
  }
  public String getTeachCourse() {
    return teachCourse;
  }
  public void setTeachCourse(String teachCourse) {
    this.teachCourse = teachCourse;
  }
  public int getTeachAge() {
    return teachAge;
  }
  public void setTeachAge(int teachAge) {
    this.teachAge = teachAge;
  }

  public String toString() {
    return "姓名=" + getName() + ", 專業(yè)方向=" + getMajorDirection()
        + ", 所教課程=" + getTeachCourse() + ", 教齡=" + getTeachAge();
  }
}

Student類

package com.hz.test;
import java.util.Arrays;
/**
 * @author ztw
 *
 */
public class Student {
  private String name;
  private int age;
  private String[] courses;
  private String interest;
  public Student() {
    super();
  }
  public Student(String name,int age,String[] courses,String interest) {
    this.name = name;
    this.age = age;
    this.courses = courses;
    this.interest = interest;
  }
  public void setName(String name){
    this.name = name;
  }
  public String getName(){
    return name;
  }
  public void setAge(int age){
    if(age<0){
      System.out.println("年齡不能為負值");
    }else{
      this.age = age;
    }
  }
  public int getAge(){
    return age;
  }
  public void setCourses(String[] courses){
    this.courses = courses;
  }
  public String getCourses(){
    return Arrays.toString(courses);
  }
  public void setInterest(String interest){
    this.interest = interest;
  }
  public String getInterest(){
    return interest;
  }
  public String toString() {
    return "姓名=" + getName() + ", 年齡=" + getAge() + ", 課程=" + getCourses()
        + ", 興趣=" + getInterest();
  }  
}

測試類

package com.hz.test;
public class Test {
  public static void main(String[] args) {
    String arr[] = {"阿斯達","是的","大概","太誘惑"};
    Student stu = new Student("張三",21,arr,"打球");
    Teacher tea = new Teacher("王五","阿斯達","阿斯達",99);
    System.out.println(stu);
    System.out.println(tea);
  }
}

輸出結(jié)果:

姓名=張三, 年齡=21, 課程=[阿斯達, 是的, 大概, 太誘惑], 興趣=打球
姓名=王五, 專業(yè)方向=阿斯達, 所教課程=阿斯達, 教齡=99

繼承

定義Play,TaoistPriest,Master,Warrior

public class Play {
  String main;
  public Play(String main) {
    this.main = main;
  }
  public void hitMonster() {
    System.out.println(main+"打怪");
  }
}
/**
 * TaoistPriest:道士
 * @author ztw
 *
 */
public class TaoistPriest extends Play {
  {
    System.out.print("我是道士:");
  }
  public TaoistPriest(String main) {
    super(main);
  }
}
/**
 * Master:法師
 * @author ztw
 *
 */
public class Master extends Play{
  {
    System.out.print("我是法師:");
  }
  public Master(String main) {
    super(main);
  }
}
/**
 * Warrior:武士
 * @author ztw
 *
 */
public class Warrior extends Play{
  {
    System.out.print("我是武士:");
  }
  public Warrior(String main) {
    super(main);
  }
}

測試類

public class Test {
  public static void main(String[] args) {
    TaoistPriest tp = new TaoistPriest("靈魂火符");
    tp.hitMonster();
    Master m = new Master("雷電術(shù)");
    m.hitMonster();
    Warrior w = new Warrior("烈火術(shù)");
    w.hitMonster();
  }
}

輸出結(jié)果:

我是道士:靈魂火符打怪 
我是法師:雷電術(shù)打怪 
我是武士:烈火術(shù)打怪

多態(tài)

服務(wù)器,客戶端交互

LoginListener

public interface LoginListener {
  public void succeed(String msg);
  public void failed(String msg);
}

MyLoginListener

public class MyLoginListener implements LoginListener{
  public void succeed(String msg) {
    System.out.println(msg);
  }
  public void failed(String msg) {
    System.out.println(msg);
  }
}

Server

public class Server {
  public void login(String userName,String password,LoginListener listener) {
    System.out.print("loading");
    for (int i = 0; i < 10; i++) {
      try {
        Thread.sleep(100*i);
        System.out.print(".");
      } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
    if(userName.equals("zhangsan") && password.equals("123")){
      if(listener!=null){
        listener.succeed("登錄成功");
      }
    }else{
      if(listener!=null){
        listener.succeed("登錄失敗");
      }
    }
  }
}

測試類

public class LoginTest {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("請輸入用戶名:");
    String userName = sc.next();
    System.out.println("請輸入用戶密碼:");
    String password = sc.next();
    Server server = new Server();
    server.login(userName, password, new MyLoginListener());
  }
}

輸出結(jié)果

請輸入用戶名: 
zhangsan 
請輸入用戶密碼: 
123 
loading……….登錄成功

總結(jié)

以上就是本文關(guān)于Java面向?qū)ο缶幊蹋ǚ庋b,繼承,多態(tài))實例解析的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:解析Java編程之Synchronized鎖住的對象、Java語言面向?qū)ο缶幊趟枷胫惻c對象實例詳解等,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • JavaWeb亂碼問題的終極解決方案(推薦)

    JavaWeb亂碼問題的終極解決方案(推薦)

    這篇文章主要給大家介紹了關(guān)于JavaWeb亂碼問題的終極解決方案,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用JavaWeb具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Spring?Boot?集成PageHelper的使用方法

    Spring?Boot?集成PageHelper的使用方法

    這篇文章主要介紹了Spring?Boot?集成PageHelper的使用方法,文章內(nèi)容圍繞主題展開詳細介紹,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助
    2022-04-04
  • Java HtmlParse提取標(biāo)簽中的值操作

    Java HtmlParse提取標(biāo)簽中的值操作

    這篇文章主要介紹了Java HtmlParse提取標(biāo)簽中的值操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • 圖解分析Javaweb進程與線程

    圖解分析Javaweb進程與線程

    這篇文章主要介紹了Javaweb進程與線程的知識,本篇文章通過簡要的案例,講解了它的基礎(chǔ)原理與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2022-03-03
  • java文本處理之計算文本句子數(shù)

    java文本處理之計算文本句子數(shù)

    這篇文章主要為大家詳細介紹了java文本處理之計算文本句子數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • springboot?整合hbase的示例代碼

    springboot?整合hbase的示例代碼

    這篇文章主要介紹了springboot?整合hbase的示例代碼,本篇詳細總結(jié)了hbase的Java客戶端的使用,在實際開發(fā)過程中,還需要結(jié)合自身的情況做更加細致的整合與優(yōu)化,需要的朋友可以參考下
    2022-04-04
  • Java連接合并2個數(shù)組(Array)的5種方法例子

    Java連接合并2個數(shù)組(Array)的5種方法例子

    最近在寫代碼時遇到了需要合并兩個數(shù)組的需求,突然發(fā)現(xiàn)以前沒用過,于是研究了一下合并數(shù)組的方式,這篇文章主要給大家介紹了關(guān)于Java連接合并2個數(shù)組(Array)的5種方法,需要的朋友可以參考下
    2023-12-12
  • Java 邏輯運算符中&&與&,||與|的區(qū)別

    Java 邏輯運算符中&&與&,||與|的區(qū)別

    這篇文章主要介紹了Java中&&與&,||與|的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • MyBatis使用注解開發(fā)實現(xiàn)過程詳解

    MyBatis使用注解開發(fā)實現(xiàn)過程詳解

    這篇文章主要介紹了MyBatis使用注解開發(fā)實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Java獲取路徑的6種方式代碼示例

    Java獲取路徑的6種方式代碼示例

    在Java中獲取路徑的方法有多種,每種方法適用于不同的場景,這篇文章主要介紹了Java獲取路徑的6種方式,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-02-02

最新評論

华安县| 平阴县| 庆元县| 铜陵市| 渑池县| 瑞安市| 渝中区| 札达县| 思南县| 长宁县| 麻江县| 二连浩特市| 盐城市| 尖扎县| 新乐市| 孟村| 临朐县| 乌鲁木齐县| 铁岭县| 芜湖市| 微博| 多伦县| 邵武市| 通城县| 监利县| 巨野县| 博爱县| 新绛县| 太白县| 通许县| 克什克腾旗| 易门县| 沁源县| 张家界市| 张家港市| 辉南县| 克山县| 米易县| 田东县| 子长县| 新巴尔虎右旗|