面向对象(封装,继承,多态)
来源:互联网 发布:博罗县政府网络问政网 编辑:程序博客网 时间:2024/05/16 23:38
封装
封装一个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() + ", 专业方向=" + 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); }}
输出结果:
- 姓名=张三, 年龄=21, 课程=[阿斯达, 是的, 大概, 太诱惑], 兴趣=打球
- 姓名=王五, 专业方向=阿斯达, 所教课程=阿斯达, 教龄=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("雷电术"); m.hitMonster(); Warrior w = new Warrior("烈火术"); w.hitMonster(); }}
- 输出结果:
我是道士:灵魂火符打怪
我是法师:雷电术打怪
我是武士:烈火术打怪
多态
服务器,客户端交互
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()); }}
- 输出结果
请输入用户名:
zhangsan
请输入用户密码:
123
loading……….登录成功
0 0
- Java面向对象(封装、继承、多态)
- 面向对象封装,继承,多态(一)
- 面向对象封装,继承,多态(二)
- 面向对象(封装,继承,多态)
- C++面向对象(封装,继承,多态)
- 面向对象编程(封装、继承、多态)
- 面向对象编程(继承,封装,多态)
- 面向对象--继承,多态,封装
- 面向对象 封装、继承、多态
- 面向对象:封装、继承、多态
- 面向对象,封装,继承
- (二)面向对象之封装,继承,多态(上)
- (三)面向对象之封装,继承,多态(下)
- 黑马程序员-面向对象(封装,继承,多态)
- JAVA菜鸟(二)面向对象之封装,继承,多态
- 面向对象之封装,继承,多态(上)
- 面向对象之封装,继承,多态(上)
- 面向对象之封装,继承,多态(下)
- Android仿QQ侧滑(删除、置顶等)功能
- js将table导出excel 之文件改名及格式化全攻略
- ios-生成二维码
- Gradle for Android-管理依赖
- Android 布局color颜色值大全
- 面向对象(封装,继承,多态)
- Oracle触发器 响应表的特定列更新
- Spring所有配置文件
- 欢迎使用CSDN-markdown编辑器
- 不要迷恋iphone7,机器人才是科技的未来!
- QSplitter setStretchFactor 函数的理解
- ListView和CheckBox的混乱问题
- java 自动装箱与拆箱
- 查询数据库库名表名字段名