话说着lambda表达式跟es6的箭头函数长得好像hhahahahahahahaaha
核心: 书写上的区别:懒汉是调用方法时初始化对象,饿汉是声明同时初始化 核心:简单工厂设计模式: 把对象的创建交给一个独立的工厂类创建。把对象的创建和使用分隔开 入门使用单例设计模式
构造方法私有:不能在类外随意创建对象
在类内部声明一个本类静态的对象作为属性
提供一个公有静态的方法用来获取本类对象懒汉式
public class SingleTon { private SingleTon(){ } private static SingleTon instance; public static SingleTon getInstance(){ if(instance == null) { instance=new SingleTon(); } return instance; } } SingleTon singleTon=SingleTon.getInstance();
饿汉式
public calss SingleleTon { private SingleTon(){ } private static SingleTon instance=new SingleTon(); public static SingleTon getInstance(){ return instance; } } SingleTon singleton=SingleTon.getInstance();
思考:懒汉式和饿汉式有什么区别?
使用上没有区别
存储时:在第一次获取单例类对象前,懒汉比饿汉节省空间
多线程操作时区别:懒汉式存在线程安全问题,饿汉式不存在简单工厂设计模式
1 父类产品
2 子类产品
3 工厂
4 客户程序/** * 服装类 */ public abstract class Clothing { //准备布料 public abstract void prepare(); //包装 public abstract void box(); } /** * 裤子 */ public class Trousers extends Clothing{ @Override public void prepare() { System.out.println("准备制作裤子的布料......"); } @Override public void box() { prepare(); System.out.println("包装完毕....."); } } /** * T恤 */ public class Tshirt extends Clothing{ @Override public void prepare() { System.out.println("准备制作T恤的布料..."); } @Override public void box() { prepare(); System.out.println("打包T恤....."); } } public class Factory { /** * 创建对象方法 * 1 表示 Trousers * 2 表示 Tshirt * @return */ public static Clothing create(int type) { Clothing clothing=null; if(type==1) { clothing=new Trousers(); }else if(type==2){ clothing=new Tshirt(); } if(clothing!=null) { clothing.box(); } return clothing; } } import java.util.Scanner; public class Test { public static void main(String[] args) { System.out.println("--------欢迎来到郑帅服装厂--------"); System.out.println("-----------1 裤子 2 T恤-----------------"); System.out.println("请选择购买的衣服"); Scanner input=new Scanner(System.in); int choice=input.nextInt(); Clothing clothing=Factory.create(choice); if(clothing!=null) { System.out.println("购买成功"); }else{ System.out.println("购买失败"); } } }
lambda表达式
public interface Add {
public abstract int add(int a,int n);
}
Add add=(x,y) ->{
int z=x+y;
return z;
};
//简化为 x,y均为变量
//Add add=(x,y) ->x+y; public interface Inter { public abstract void toUpper(String s); } //s为变量 Inter inter=(s) ->System.out.println(s.toUpperCase()); inter.toUpper("cccccccc");
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算