静态工厂方法的运用

使用场景:

1.静态方法虽同样是为了实例化对象,但是在语法上不需要与类名保持一致,则在命名上更加灵活 更容易表述实例化的目的

2.可以将构造方法private,只通过静态工厂方法做实例化,即不暴露构造器给客户端,而在静态方法中可以做更多的事情(比如单例,根据参数值进行不同的实例化)

3.可以将子类的实例作为返回结果,在客户端无意识的情况下使用子类,同时将子类保护起来客户端无法直接实例化子类,且后续的升级可以在方法内实现,客户端不会感知到。

4.服务提供者框架

例子:

1.java的Collections工具类是就是通过上面3的方法来实例化一些不能直接实例化的集合类型,并且因为命名灵活,容易使用

2.jdbc的模式就是上述的4.在DriverManager.getConnection的方法中,返回的是未指定的实例,具体的类型要先由Connection的数据库提供商去实现然后注册到系统中:

加载驱动程序:

1 Class.forName(driverClass);
2 //加载MySql驱动
3 Class.forName("com.mysql.jdbc.Driver");
4 //加载Oracle驱动
5 Class.forName("oracle.jdbc.driver.OracleDriver");

获得数据库连接:

 1 DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/fireway", "root", "root"); 

创建Statement/PreparedStatement对象:

1 conn.createStatement();
2 conn.prepareStatement(sql);
扫描二维码关注公众号,回复: 6371770 查看本文章

猜你喜欢

转载自www.cnblogs.com/lccsblog/p/10988467.html