首页 > 编程语言 >java工厂方法模式学习

java工厂方法模式学习

时间:2022-10-03 20:23:46浏览次数:45  
标签:java void System 模式 工厂 Human Override public out

总结;定义一个接口,多个实现类,一个工厂方法

public interface Human {
    void eat();
    void sleep();
}

 

public class WhiteHuman implements Human{
    @Override
    public void eat() {
        System.out.println("白种人吃饭");
    }

    @Override
    public void sleep() {
        System.out.println("白种人睡觉");
    }
}

  

public class YellowHuman implements Human{
    @Override
    public void eat() {
        System.out.println("黄种人吃饭");
    }

    @Override
    public void sleep() {
        System.out.println("黄种人睡觉");
    }
}

  

public class HumanFactory {
    public static Human createHuman(Class tClass) {
        try {
            return (Human) Class.forName(tClass.getName()).newInstance();
        } catch (InstantiationException e) {
            throw new RuntimeException(e);
        } catch (IllegalAccessException e) {
            throw new RuntimeException(e);
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        }

    }
}

  测试:

 

 

 

标签:java,void,System,模式,工厂,Human,Override,public,out
From: https://www.cnblogs.com/liubaihui/p/16751143.html

相关文章

  • java---回顾方法的定义和调用
    方法的回顾和调用packagecom.oop.demo;​importjava.io.IOError;importjava.io.IOException;​//return代表方法结束,返回一个结果//下方就是一个类publicclassDemo01......
  • java网络编程--3 TCP
    java网络编程--3TCP1.6、TCP客户端连接服务器Socket发送消息packagecom.ssl.lesson02;importjava.io.IOException;importjava.io.OutputStream;importja......
  • 肖sir__Java中模块__11
       一、random模块1、定义 random :用于产生一个随机数2、使用步骤:(1)导包(2)创建对象(3)获取随机数   案例:   importjava.util.Random;......
  • 第一个Java程序hello world
    day4:我的第一个JAVA程序HelloWorldpublicclassMain{publicstaticvoidmain(String[]args){System.out.println("hello,world");}}注意事项......
  • java---冒泡排序和稀疏数组的学习
    一.冒泡排序1.冒泡排序无疑是最为出名的排序算法,总共有8大排序2.冒泡代码相当简单,两层循环,两层冒泡轮数,里面依次比较3.我们看到的嵌套循环,应该立马就可以的出这个算法的......
  • Java设计模式 —— 建造者模式
    8建造者模式8.1建造者模式概述BuilderPattern:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式可以将部件本身和它们的组......
  • java网络编程--2 IP,端口,通信协议,TCP/UDP对比
    java网络编程--2IP,端口,通信协议,TCP/UDP对比1.3、IPip地址:InetAddress唯一定位一台网络上的计算机127.0.0.1:本机localhostIP地址的分类ipv4/ipv6IPV4......
  • java_day05
    Java流程控制用户交互ScannerJava给我们提供了一个工具类,让我们可以获取用户的输入。java.util.Scanner是Java5的新特性基本语法Scanners=newScanner(System.......
  • java_day04
    Java基础包机制包实质上就是文件夹一般利用公司域名倒置作为包名JavaDocjavadoc命令是用来生成自己的API文档的参数信息@author作者名@version版本号@since......
  • 抽象类及模板设计模式
    1基本介绍当父类的某些方法,需要声明,但是又不确定如何实现时,可以将其声明为抽象方法,那么这个类就是抽象类当父类的一些方法不能确定时,可以用abstract关键字来修饰该方......