java怎么调⽤另⼀个类的⽅法_Java设计模式:⼗篇,代码⼩
⽩必看
Java设计模式(⼀)----单例模式
⼀、特点:
1、单例类只能有⼀个实例。
2、单例类必须⾃⼰创建⾃⼰的唯⼀实例。
3、单例类必须给所有其他对象提供这⼀实例。
单例模式确保某个类只有⼀个实例,⽽且⾃⾏实例化并向整个系统提供这个实例。
⼆.分类
(⼀)、懒汉式单例
//懒汉式单例类.在第⼀次调⽤的时候实例化⾃⼰
Singleton通过将构造⽅法限定为private避免了类在外部被实例化,在同⼀个虚拟机范围内,Singleton的唯⼀实例只能通过getInstance()⽅法访问。
(事实上,通过Java反射机制是能够实例化构造⽅法为private的类的,那基本上会使所有的Java单例实现失效。此问题在此处不做讨论,姑且掩⽿盗铃地认为反射机制不存在。) 点击阅读此篇
Java设计模式(⼆)----建造者模式
⼀、 概念
建造模式是对象的创建模式。建造模式可以将⼀个产品的内部表象(internal representation)与产品的⽣产过程分割开来,从⽽可以使⼀个建造过程⽣成具有不同的内部表象的产品对象。
1、产品的内部表象
⼀个产品常有不同的组成成分作为产品的零件,这些零件有可能是对象,也有可能不是对象,它们通常⼜叫做产品的内部表象(internal representation)。不同的产品可以有不同的内部表象,也就是不同的零件。使⽤建造模式可以使客户端不需要知道所⽣成的产品有哪些零件,每个 产品的对应零件彼此有何不同,是怎么建造出来的,以及怎么组成产品。
2、对象性质的建造
有些情况下,⼀个对象的⼀些性质必须按照某个顺序赋值才有意义。在某个性质没有赋值之前,另⼀个性质则⽆法赋值。这些情况使得性质本⾝的建造涉 及到复杂的商业逻辑。这时候,此对象相当于⼀个有待建造的产品,⽽对象的这些性质相当于产品的零件,建造产品的过程是建造零件的过程。由于建造零件的过程 很复杂,因此,这些零件的建造过程往往被“外部化”到另⼀个称做建造者的对象⾥,建造者对象返还给客户端的是⼀个全部零件都建造完毕的产品对象。点击阅读此篇
Java设计模式(三—四)----⼯⼚模式
⼯⼚模式
在⾯向对象编程中, 最通常的⽅法是⼀个new操作符产⽣⼀个对象实例,new操作符就是⽤来构造对象实例的。但是在⼀些情况下, new操作符直接⽣成对象会带来⼀些问题。举例来说, 许多类型对象的创造需要⼀系列的步骤: 你可能需要计算或取得对象的初始设置; 选择⽣成哪个⼦对象实例; 或在⽣成你需要的对象之前必须先⽣成⼀些辅助功能的对象。在这些情况,新对象的建⽴就是⼀个“过程”,不仅是⼀个操作,像⼀部⼤机器中的⼀个齿轮传动。
模式的问题:你如何能轻松⽅便地构造对象实例,⽽不必关⼼构造对象实例的细节和复杂过程呢?
解决⽅案:建⽴⼀个⼯⼚来创建对象
⼀、引⾔
1)还没有⼯⼚时代:假如还没有⼯业⾰命,如果⼀个客户要⼀款宝马车,⼀般的做法是客户去创建⼀款宝马车,然后拿来⽤。
2)简单⼯⼚模式:后来出现⼯业⾰命。⽤户不⽤去创建宝马车。因为客户有⼀个⼯⼚来帮他创建宝马.想
要什么车,这个⼯⼚就可以建。⽐如想要宝马系列车。⼯⼚就创建这个系列的车。即⼯⼚可以创建产品。
3)⼯⼚⽅法模式时代:为了满⾜客户,车系列越来越多,奔驰等系列,⼀个⼯⼚⽆法创建所有的车系列。于是由单独分出来多个 具体的⼯⼚。每个具体⼯⼚创建⼀种系列。即具体⼯⼚类只能创建⼀个具体产品。
4)抽象⼯⼚模式时代:随着客户的要求越来越⾼,车进⾏分类,分为商务车和运动车两个族点击阅读此篇
Java设计模式(五)----原型模式
⼀、概述
定义:原型模式属于对象的创建模式。通过给出⼀个原型对象来指明所有创建的对象的类型,然后⽤复制这个原型对象的办法创建出更多同类型的对象。简⾔之:就是复制粘贴。这就是选型模式的⽤意。
⼆、结构
原型模式主要⽤于对象的复制,它的核⼼是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件:
1、实现Cloneable接⼝。在java语⾔有⼀个Cloneable接⼝,它的作⽤只有⼀个,就是在运⾏时通知虚拟机可以安全地在实现了此接 ⼝的类上使⽤clone⽅法。在java虚拟机中,只有实现了这个接⼝的类才可以被拷贝,否则在运⾏时会抛出 CloneNotSupportedException异常。
2、重写Object类中的clone⽅法。Java中,所有类的⽗类都是 Object类,Object类中有⼀个clone⽅法,作⽤是返回对象的⼀个拷贝,但是其作⽤域protected类型的,⼀般的类⽆法调⽤,因 此,Prototype类需要将clone⽅法的作⽤域修改为public类型。点击阅读此篇
Java设计模式(六)----适配器模式
1、概述
适配器模式把⼀个类的接⼝变换成客户端所期待的另⼀种接⼝,从⽽使原本因接⼝不匹配⽽⽆法在⼀起⼯作的两个类能够在⼀起⼯作。
2、适配器模式的⽤途
即Adapter模式使得原本由于接⼝不兼容⽽不能⼀起⼯作的那些类可以在⼀起⼯作。
下⾯是两个典型例⼦
点击阅读此篇
1.装饰模式(Decorator)的定义:⼜名包装(Wrapper)模式,装饰模式以对客户端透明的⽅式扩展对象的功能,是继承关系的⼀个替代⽅案。
2.装饰模式以对客户端透明的⽅式动态的给⼀个对象附加上更多的责任。换⾔之客户端并不会觉的对象在装饰前和装饰后有什么区别。
3.装饰模式可以在不创造更多的⼦类的模式下,将对象的功能加以扩展。
⼆、装饰模式的结构
装饰模式的类图如下:
点击阅读此篇
Java设计模式(⼋)----代理模式
代理模式
1、⽣活中:
代理就是⼀个⼈或者⼀个组织代表其他⼈去做⼀件事的现实⽣活中的。在⼀些情况下,⼀个客户不想或者不能够直接引⽤⼀个对象,⽽代理对象可以在客户端和⽬标对象之间起到中介的作⽤。
2、官⽅:
代理模式是对象的结构模式。代理模式给某⼀个对象提供⼀个代理对象,并由代理对象控制对原对象的引⽤
⼀、静态代理
类图结构如下
点击阅读此篇
Facade(外观)模式为⼦系统中的各类(或结构与⽅法)提供⼀个简明⼀致的界⾯,隐藏⼦系统的复杂性,使⼦系统更加容易使⽤。
⼆、结构
门⾯(Facade)⾓⾊ :客户端可以调⽤这个⾓⾊的⽅法。此⾓⾊知晓相关的(⼀个或者多个)⼦系统的功能和责任。在正常情况下,本⾓⾊会将所有从客户端发来的请求委派到相应的⼦系统去。
⼦系统(SubSystem)⾓⾊ :可以同时有⼀个或者多个⼦系统。每个⼦系统都不是⼀个单独的类,⽽是⼀个类的集合(如上⾯的⼦系统就是由SystemA、SystemB、 SystemC三个类组合⽽成)。每个⼦系统都可以被客户端直接调⽤,或者被门⾯⾓⾊调⽤。⼦系统并不知道门⾯的存在,对于⼦系统⽽⾔,门⾯仅仅是另外⼀ 个客户端⽽已。点击阅读此篇
Java设计模式(⼗)----桥接模式
⼀、定义
将抽象部分与实现(⾏为)部分分离,使它们都可以独⽴的变化。
桥接模式的做法是把变化部分(实现)抽象出来,使变化部分与主类(抽象)分离开来,从⽽将多个维度的变化彻底分离。最后,提供⼀个管理类(如下⾯的引擎类)来组合不同维度上的变化,通过这种组合来满⾜业务的需要。
⼆、结构
图-桥接模式结构图
小白学java有前途吗
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论