当前位置: 首页 > news >正文

一家专门做爆品印刷的网站域名怎么注册

一家专门做爆品印刷的网站,域名怎么注册,做网站模板的网页名称是m开头,做网站工作都包括什么1单例设计模式 学习目标 能够使用单例设计模式设计代码 内容讲解 正常情况下一个类可以创建多个对象 public static void main(String[] args) {// 正常情况下一个类可以创建多个对象Person p1 new Person();Person p2 new Person();Person p3 new Person(); }如果说有…

1单例设计模式

学习目标

  • 能够使用单例设计模式设计代码

内容讲解

  • 正常情况下一个类可以创建多个对象
public static void main(String[] args) {// 正常情况下一个类可以创建多个对象Person p1 = new Person();Person p2 = new Person();Person p3 = new Person();
}
  • 如果说有时一个对象就能搞定的事情 , 非要创建多个对象 , 浪费内存!!!

1.1 单例设计模式的作用

  • 单例模式,是一种常用的软件设计模式。通过单例模式可以保证项目中,应用该模式的这个类只有一个实例。

    即一个类只有一个对象实例。

  • 好处 :可以节省内存,共享数据

1.2 单例设计模式实现步骤

  1. 将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。
  2. 在该类内部产生一个唯一的实例化对象,并且将其封装为private static 类型的成员变量。
  3. 定义一个静态方法返回这个唯一对象。

1.3 单例设计模式的类型

根据创建对象的时机单例设计模式又分为以下两种:

  1. 饿汉单例设计模式

  2. 懒汉单例设计模式

=============================================================================================

1.4 饿汉单例设计模式

  • 饿汉单例设计模式就是使用类的时候已经将对象创建完毕

    不管以后会不会使用到该实例化对象,先创建了再说。很着急的样子,故被称为“饿汉模式”。

  • 代码如下:

    public class Singleton {// 1.将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。private Singleton() {}// 2.在该类内部产生一个唯一的实例化对象,并且将其封装为private static 类型的成员变量。private static Singleton instance = new Singleton();// 3.定义一个静态方法返回这个唯一对象。public static Singleton getInstance() {return instance;}
    }
    
  • 需求:定义一个皇帝类,要求对象只能存在一个。

    
    

=============================================================================================

1.5 懒汉单例设计模式

  • 懒汉单例设计模式就是调用getInstance()方法时对象才被创建

    也就是说先不急着实例化出对象,等要用的时候才实例化出对象。不着急,故称为“懒汉模式”。

    代码如下:

public class Singleton {

// 2.在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型的成员变量。
private static Singleton instance;// 0x001// 1.将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。
private Singleton() {}// 3.定义一个静态方法返回这个唯一对象。要用的时候才例化出对象public static synchronized Singleton getInstance() {if(instance == null) {instance = new Singleton();// 0x001}return instance;
}

}


- ##### 注意 :- 懒汉单例设计模式在多线程环境下可能会实例化出多个对象,不能保证单例的状态,所以加上关键字:synchronized,保证其同步安全。- 需求:使用懒汉单例 ,改写皇帝类的单例模式```java

知识小结

  • 单例模式可以保证系统中一个类只有一个对象实例。

  • 实现单例模式的步骤:

    • 将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。
    • 在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型的成员变量。
    • 定义一个静态方法返回这个唯一对象。

2 多例设计模式

学习目标

  • 能使用多例设计模式设计代码

内容讲解

2.1 多例设计模式的作用

  • 多例模式,是一种常用的设计模式之一。通过多例模式可以保证项目中,应用该模式的类有固定数量的实例

    多例类要自我创建并管理自己的实例,还要向外界提供获取本类实例的方法。

  • 使用场景:线程池

    线程池 = Executors.newFixedThreadPool(3);
    

2.2.实现步骤

​ 1.创建一个类, 将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。

​ 2.在类中定义该类被创建对象的总数量

​ 3.在类中定义存放类实例的list集合

​ 4.在类中提供静态代码块,在静态代码块中创建类的实例

​ 5.提供获取类实例的静态方法

2.3.实现代码

  • 某一个学科有固定3位老师,年级中上该课程的老师就是这三位老师其中一位

    要求使用多例模式 ,每次获取的都是这三位老师其中一位

import com.itheima.homework.Test;import java.time.Period;
import java.util.ArrayList;
import java.util.Random;/*需求  : 某一个学科有固定3位老师,年级中上该课程的老师就是这三位老师其中一位要求使用多例模式 ,每次获取的都是这三位老师其中一位实现步骤 :1.创建一个类,  将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。2.在类中定义该类被创建对象的总数量3.在类中定义存放类实例的list集合4.在类中提供静态代码块,在静态代码块中创建类的实例5.提供获取类实例的静态方法*/
public class Teacher {//  1.创建一个类,  将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。private Teacher() {}// 2.在类中定义该类被创建对象的总数量private static final int maxCount = 3;// 3.在类中定义存放类实例的list集合private static ArrayList<Teacher> list = new ArrayList<>();//{三个老师对象}// 4.在类中提供静态代码块,在静态代码块中创建类的实例static {for (int i = 0; i < maxCount; i++) {list.add(new Teacher());}}// 5.提供获取类实例的静态方法public static Teacher getInstance() {Random r = new Random();// 返回集合中的某一个老师return list.get(r.nextInt(list.size()));}
}
import org.junit.Test;public class TeacherTest {@Testpublic void getInstance() {for (int i = 0; i < 10; i++) {Teacher teacher = Teacher.getInstance();System.out.println(teacher);}}
}

2.4 小结

  • 多例模式作用 : 可以保证项目中一个类有固定个数的实例, 在实现需求的基础上, 能够提高实例的复用性.

    实现多例模式的步骤 :

    • 创建一个类, 将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。
    • 在类中定义该类被创建的总数量
    • 在类中定义存放类实例的list集合
    • 在类中提供静态代码块,在静态代码块中创建类的实例
    • 提供获取类实例的静态方法

3 工厂设计模式

学习目标

  • 能够使用工厂设计模式设计代码

内容讲解

3.1 概述

  • 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。之前我们创建类对象时, 都是使用 new 对象的形式创建, 除new 对象方式以外, 工厂模式也可以创建对象.

3.2作用

  • 解决类与类之间的耦合问题

3.3案例实践

  • 需求:定义汽车工厂类,生产各种品牌的车

  • 实现步骤

    • 编写一个Car接口, 提供run方法
    • 编写一个Falali类实现Car接口,重写run方法
    • 编写一个Benchi类实现Car接口
    • 提供一个CarFactory(汽车工厂),用于生产汽车对象
    • 定义CarFactoryTest测试汽车工厂

实现代码

/*- 需求:定义汽车工厂类,生产各种品牌的车- 实现步骤- 编写一个Car接口, 提供run方法- 编写一个Falali类实现Car接口,重写run方法- 编写一个Benchi类实现Car接口- 提供一个CarFactory(汽车工厂),用于生产汽车对象- 定义CarFactoryTest测试汽车工厂*/
public class CarTest {public static void main(String[] args) {// 多态// Car falali = CarFactory.getCar("Falali");//        Car falali = CarFactory.getCar("fghjkl");
//        falali.run();// 调用此方法getCar , 只能传入枚举项CarFactory.getCar(CarBrand.FALALI);}
}// 汽车接口
interface Car {public abstract void run();// 行驶
}// 编写一个Falali类实现Car接口,重写run方法
class Falali implements Car {@Overridepublic void run() {System.out.println("法拉利3秒破百...");}
}//  编写一个Benchi类实现Car接口
class Benchi implements Car {
//    public Benchi(int price) {
//
//    }@Overridepublic void run() {System.out.println("法拉利5秒破百...");}
}// 枚举
enum CarBrand {// 枚举项 : 每个枚举项都相当于枚举的对象BENCHI, FALALI, DAZHONG, LASILAISI, AODI;
}// 提供一个CarFactory(汽车工厂),用于生产汽车对象
class CarFactory {public static Car getCar(CarBrand carBrand) {switch (carBrand) {case BENCHI:return new Benchi();case FALALI:return new Falali();//...default:return null;}}
} 提供一个CarFactory(汽车工厂),用于生产汽车对象
//class CarFactory {
//    public static Car getCar(String carName) {
//        if (carName.equals("Falali")) {
//            return new Falali();
//        } else if (carName.equals("Benchi")) {
//            return new Benchi(1000000);
//        }
//        return null;// 传入的不是Falali或者Benchi 则返回null
//    }
//}

知识小结

  • 工厂模式的存在可以改变创建对象的方式,降低类与类之间的耦合问题.
http://www.dt0577.cn/news/8542.html

相关文章:

  • 网络宣传网站建设泉州seo代理计费
  • 婚纱摄影网站开发的目的网站seo策划方案案例分析
  • 唐山网站建设找煌途外包公司是正规公司吗
  • 钦州市建设工程质量监督站网站成都达洱狐网络科技有限公司
  • 个人网站建设网站seo优化价格
  • wordpress 网站优化策划书</a> </li> <li> <a href="/news/8535.html">郑州中森网站建设杭州上城区抖音seo有多好</a> </li> <li> <a href="/news/8533.html">电商小程序名字大全站长工具seo词语排名</a> </li> <li> <a href="/news/8532.html">电脑什么网站可以做长图攻略今日头条(官方版本)</a> </li> <li> <a href="/news/8531.html">正邦的网站建设建网站的详细步骤</a> </li> <li> <a href="/news/8530.html">湖南长沙门户网站销售课程视频免费</a> </li> <li> <a href="/news/8529.html">三网合一网站建设费用网站排名优化</a> </li> <li> <a href="/news/8527.html">民治网站优化培训win7优化大师</a> </li> <li> <a href="/news/8526.html">那些网站平台可以做3d建模网络营销常见的工具</a> </li> <li> <a href="/news/8525.html">淘宝做关键词的网站金昌网站seo</a> </li> <li> <a href="/news/8524.html">重庆网捷网站建设技术有限公司广西网站建设制作</a> </li> <li> <a href="/news/8522.html">宁波网站推广平台推荐今日重大新闻头条十条</a> </li> <li> <a href="/news/8521.html">淄博的大型网站建设深圳网站建设 手机网站建设</a> </li> <li> <a href="/news/8520.html">网站开发与java技术大型网站建设方案</a> </li> <li> <a href="/news/8518.html">做网站窗体属性栏设置文字居中搜索引擎入口网址</a> </li> <li> <a href="/news/8517.html">网站制作公司多少人新闻小学生摘抄</a> </li> <li> <a href="/news/8516.html">海口网站制作设计小红书seo关键词优化多少钱</a> </li> <li> <a href="/news/8515.html">政府网站建设的流程域名注册信息查询</a> </li> <li> <a href="/news/8514.html">建站之星网站建设下载版郑州seo顾问外包</a> </li> <li> <a href="/news/8513.html">企业建立网站的优势郑州粒米seo外包</a> </li> <li> <a href="/news/8512.html">推广网站的方法有查询网站流量的网址</a> </li> <li> <a href="/news/8511.html">汽车4S店网站建设网络营销策划ppt范例</a> </li> <li> <a href="/news/8510.html">医疗机构网站模板针对百度关键词策划和seo的优化</a> </li> <li> <a href="/news/8509.html">锦州市住房和城乡建设委员会网站昆明seo案例</a> </li> <li> <a href="/news/8508.html">做网站公司长沙广州seo优化公司排名</a> </li> </div> </article> </main> </div> </div> <aside id="secondary" class="widget-area sidebar"> <div class="widget widget_posts_thumbnail" style="margin-top:6px;"> <h2 class="widget-title">最新文章</h2> <ul> <li class="clear"> <a href="/news/8953.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/浙江微信网站建设直通车优化推广" alt=" 浙江微信网站建设直通车优化推广" /> </div> </a> <div class="entry-wrap"> <a href="/news/8953.html" rel="bookmark"> 浙江微信网站建设直通车优化推广</a> <div class="entry-meta">2025/7/5 19:50:41</div></div> </li> <li class="clear"> <a href="/news/8952.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/汽车网站怎么做最新网域查询入口" alt=" 汽车网站怎么做最新网域查询入口" /> </div> </a> <div class="entry-wrap"> <a href="/news/8952.html" rel="bookmark"> 汽车网站怎么做最新网域查询入口</a> <div class="entry-meta">2025/7/5 19:50:11</div></div> </li> <li class="clear"> <a href="/news/8951.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/上海市中小企业服务云seo网站优化详解" alt=" 上海市中小企业服务云seo网站优化详解" /> </div> </a> <div class="entry-wrap"> <a href="/news/8951.html" rel="bookmark"> 上海市中小企业服务云seo网站优化详解</a> <div class="entry-meta">2025/7/5 19:49:41</div></div> </li> <li class="clear"> <a href="/news/8950.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/之梦系统怎么修改网站标头图片百度贴吧官网" alt=" 之梦系统怎么修改网站标头图片百度贴吧官网" /> </div> </a> <div class="entry-wrap"> <a href="/news/8950.html" rel="bookmark"> 之梦系统怎么修改网站标头图片百度贴吧官网</a> <div class="entry-meta">2025/7/5 19:49:10</div></div> </li> <li class="clear"> <a href="/news/8949.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/真人做爰网站视频百度指数官网入口登录" alt=" 真人做爰网站视频百度指数官网入口登录" /> </div> </a> <div class="entry-wrap"> <a href="/news/8949.html" rel="bookmark"> 真人做爰网站视频百度指数官网入口登录</a> <div class="entry-meta">2025/7/5 19:48:40</div></div> </li> <li class="clear"> <a href="/news/8947.html" rel="bookmark"> <div class="thumbnail-wrap"> <img width="120" height="80" src="http://pic.xiahunao.cn/yaotu/做网站要多少钱新乡花钱推广的网络平台" alt=" 做网站要多少钱新乡花钱推广的网络平台" /> </div> </a> <div class="entry-wrap"> <a href="/news/8947.html" rel="bookmark"> 做网站要多少钱新乡花钱推广的网络平台</a> <div class="entry-meta">2025/7/5 19:47:09</div></div> </li> </ul> </div> <div class="leftdiv2"> </div> </aside> </div> <footer id="colophon" class="site-footer"> <div class="clear"></div> <div id="site-bottom" class="clear"> <div class="container"> <div class="menu-m_footer-container"> <ul id="footer-menu" class="footer-nav"> <li> <strong> <a href="/">鼎通 0577介绍</a></strong> </li> <li> <strong> <a href="/">商务合作</a></strong> </li> <li> <strong> <a href="/">免责声明</a></strong> </li> </ul> </div> <div class="site-info"> <p>CopyRight © <a href="/">鼎通 0577</a>版权所有 </p> </div> </div> </div> </footer> </div> <div id="back-top"> <a href="#top" title="返回顶部"> <svg width="38" height="38" viewbox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"> <rect width="48" height="48" fill="white" fill-opacity="0.01" /> <path d="M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z" fill="#3d4de6" stroke="#3d4de6" stroke-width="4" stroke-linejoin="round" /> <path d="M24 33.5V15.5" stroke="#FFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /> <path d="M33 24.5L24 15.5L15 24.5" stroke="#FFF" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" /></svg> </a> </div> <script src='/templates/nzzt/js/common.js'></script> <script> $(function(){ $('.source_url').text('原文地址:https://blog.csdn.net/m0_46168848/article/details/132311516'); }); /*$('.source_url').on("click",function() { window.open('https://blog.csdn.net/m0_46168848/article/details/132311516', '_blank'); });*/ </script> </body> </html>