一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務(wù)器之家 - 編程語言 - JAVA教程 - Java面向?qū)ο缶幊蹋ǚ庋b/繼承/多態(tài))實例解析

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

2021-01-27 11:00書思BookReflect JAVA教程

這篇文章主要介紹了Java面向?qū)ο缶幊蹋ǚ庋b/繼承/多態(tài))實例解析的相關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以了解下。

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

封裝

封裝一個Teacher和Student類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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("年齡不能為負(fù)值");
    }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();
  
}

測試類

?
1
2
3
4
5
6
7
8
9
10
package com.hz.test;
public class Test {
  public static void main(String[] args) {
    String arr[] = {"阿斯達(dá)","是的","大概","太誘惑"};
    Student stu = new Student("張三",21,arr,"打球");
    Teacher tea = new Teacher("王五","阿斯達(dá)","阿斯達(dá)",99);
    System.out.println(stu);
    System.out.println(tea);
  }
}

輸出結(jié)果:

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

繼承

定義Play,TaoistPriest,Master,Warrior

?
1
2
3
4
5
6
7
8
9
public class Play {
  String main;
  public Play(String main) {
    this.main = main;
  }
  public void hitMonster() {
    System.out.println(main+"打怪");
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
/**
 * TaoistPriest:道士
 * @author ztw
 *
 */
public class TaoistPriest extends Play {
  {
    System.out.print("我是道士:");
  }
  public TaoistPriest(String main) {
    super(main);
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
/**
 * Master:法師
 * @author ztw
 *
 */
public class Master extends Play{
  {
    System.out.print("我是法師:");
  }
  public Master(String main) {
    super(main);
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
/**
 * Warrior:武士
 * @author ztw
 *
 */
public class Warrior extends Play{
  {
    System.out.print("我是武士:");
  }
  public Warrior(String main) {
    super(main);
  }
}

測試類

?
1
2
3
4
5
6
7
8
9
10
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é)果:

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

多態(tài)

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

LoginListener

?
1
2
3
4
public interface LoginListener {
  public void succeed(String msg);
  public void failed(String msg);
}

MyLoginListener

?
1
2
3
4
5
6
7
8
public class MyLoginListener implements LoginListener{
  public void succeed(String msg) {
    System.out.println(msg);
  }
  public void failed(String msg) {
    System.out.println(msg);
  }
}

Server

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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("登錄失敗");
      }
    }
  }
}

測試類

?
1
2
3
4
5
6
7
8
9
10
11
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é)果

?
1
2
3
4
5
請輸入用戶名:
zhangsan
請輸入用戶密碼:
123
loading……….登錄成功

總結(jié)

以上就是本文關(guān)于Java面向?qū)ο缶幊?/a>(封裝,繼承,多態(tài))實例解析的全部內(nèi)容,希望對大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/qq_33624284/article/details/53606306

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 九九99香蕉在线视频美国毛片 | 青青色在线观看 | 91夜夜操| 亚洲精品国产精麻豆久久99 | 天天干天天日天天射天天操毛片 | 日本人作爰啪啪全过程 | 国产馆精品推荐在线观看 | 精品午夜视频 | 免费在线公开视频 | 国产一区二区三区欧美精品 | 久久综合网久久综合 | 韩国悲惨事件30无删减在线 | 国产日日干| 国产高清好大好夹受不了了 | 色婷丁香 | 国产一卡二卡3卡4卡更新 | 蜜桃视频在线观看官网 | 美女厕所尿尿擦逼 | 国产 日韩 一区 | 亚洲精品一二区 | 91精品手机国产在线观 | 午夜伦理:伦理片 | 日本视频免费在线 | 欧美最猛性xxxxx男男 | 国产自产2023最新麻豆 | 1769亚洲资源站365在线 | 日本高清无吗 | jizzjizz成熟丰满舒服 | 亚洲欧美日韩久久一区 | 日本乱人伦中文在线播放 | 九九九九九九伊人 | 日本不卡在线一区二区三区视频 | 国产视频久久久 | 草逼视频免费看 | 亚州第一页 | 美女翘臀内疯狂进出 | 97精品国产自在现线免费观看 | 免费人成在线观看69式小视频 | 亚洲 欧美 在线观看 | 2014天堂| 男人猛激烈吃奶gif动态图 |