本文主要介紹了面向?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ù)打怪 |
服務(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