首页 > 代码库 > Java入门——面向对象基础(三)
Java入门——面向对象基础(三)
Java入门——抽象类与接口的应用
本Blog内容
- 为抽象类与接口实例化
- 抽象类的实际应用——模板设计
- 接口的实际应用——制定标准
- 设计模式——工厂设计
- 设计模式——代理设计
为抽象类与接口实例化
利用多态性
1 package Sep16; 2 3 public class AbstractCaseDemo1 { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub10 Abstract a=new BAbstract();11 a.print();12 }13 14 }15 abstract class Abstract{16 public abstract void print();17 }18 class BAbstract extends Abstract{19 public void print(){20 System.out.println("Hello Word!!!");21 }22 }
抽象类的实际应用——模板设计
就是先用抽象类设计一张空白的模板,具体不同之处用子类实现。
1 package Sep16; 2 3 public class AbstractCaseDemo2 { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub10 Person student=new Students("Bob",21,89f);11 Person worker=new Workers("搬砖哥",22,9999);12 student.say();13 worker.say();14 }15 16 }17 abstract class Person{18 private String name;19 private int age;20 public Person(String name, int age) {21 super();22 this.name = name;23 this.age = age;24 }25 public String getName() {26 return name;27 }28 public int getAge() {29 return age;30 }31 public void say(){32 System.out.println(this.getContent());//说话的功能,Person类的方法33 34 }35 public abstract String getContent();//说话的具体内容,根据不同的人,有不同的定义36 }37 class Students extends Person{38 private float score;39 public Students(String name, int age, float score) {40 super(name, age);41 this.score = score;42 }43 public String getContent(){44 return "学生信息:姓名:"+super.getName()+";年龄:"+super.getAge()+",成绩:"+this.score;45 }46 }47 class Workers extends Person{48 private float salary;49 public Workers(String name, int age, float salary) {50 super(name, age);51 this.salary = salary;52 }53 public String getContent(){54 return "工人信息:姓名:"+super.getName()+";年龄:"+super.getAge()+",工资:"+this.salary;55 }56 }
学生信息:姓名:Bob;年龄:21,成绩:89.0工人信息:姓名:搬砖哥;年龄:22,工资:9999.0
接口的实际应用——制定标准
package Sep16;public class AbstractCsseDemo03 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Computer.plugin(new Flash()); System.out.println("---------------------"); Computer.plugin(new Print()); }}interface USB{//定义USB标准 public void start(); public void stop();}//定义实现USB接口的U盘类class Flash implements USB{ public void start(){ System.out.println("U盘开始工作!"); } public void stop() { // TODO Auto-generated method stub System.out.println("U盘停止工作!"); }}//定义实现USB接口的打印机类class Print implements USB{ public void start(){ System.out.println("打印机开始工作!"); } public void stop() { // TODO Auto-generated method stub System.out.println("打印机停止工作!"); }}class Computer{ public static void plugin(USB usb){//实现了USB接口的类都可以传递过来 usb.start(); System.out.println("======设备工作中====="); usb.stop(); }}
U盘开始工作!======设备工作中=====U盘停止工作!---------------------打印机开始工作!======设备工作中=====打印机停止工作!
设计模式——工厂设计
类似于Java的JVM虚拟机,采用Factory类的形式处理主函数与子类之间的关系。
Java入门——面向对象基础(三)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。