易截截图软件、单文件、免安装、纯绿色、仅160KB

java代理模式

代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。
在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用
例如:客人想请市长(真是角色)吃饭 但是请不动市长 只好找市长秘书(代理角色)  但是最后为客人做事的     还是市长
 
 
代理模式一般涉及到的角色有
抽象角色:声明真实对象和代理对象的共同接口
代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻
               都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装
真实角色:代理角色所代表的真实对象,是我们最终要引用的对象
参见程序Subject.java
参见程序RealSubject.java
参见程序ProxySubject.java
参见程序Client.java
// 抽象角色
abstract public class Subject
{
abstract public void request();
}
//真实角色:实现了Subject的request()方法
public class RealSubject extends Subject
{
public RealSubject()
{
}
public void request()
{
System.out.println("from real subject.");
}
}
//代理角色
public class ProxySubject extends Subject
{
private RealSubject realSubject; // 以真实角色作为代理角色的属性
public ProxySubject()
{
}
public void request() // 该方法封装了真实对象的request方法
{
preRequest();
if (realSubject == null)
{
realSubject = new RealSubject();
}
realSubject.request(); // 此处执行真实对象的request方法
postRequest();
}
private void preRequest()
{
// something you want to do before requesting
}
private void postRequest()
{
// something you want to do after requesting
}
}
//客户端调用
public class Client
{
public static void main(String[] args)
{
//这里用到了多态机制 因为ProxySubject继承了Subject 所以
Sub


相关文档:

关于Java中的IEEE765浮点数表示法

凌宇 在www.360doc.com中转帖【IEEE浮点数表示法】,经过仔细研究,终于有点心得了。
float转十六进制:
16进制浮点数的表示方法,根据IEEE的标准,分为32位和64位两种,参数分别如下:
 
 
符号位
指数位
指数偏移量
尾数位
32位
1[31]
8[23-30]
23[0-22]
127
64位
1[63]
11[52-62]
52 ......

Lombok 消除Java的冗长


  Lombok是一个开源项目,可以用来消除Java代码的冗长
  详细介绍参看http://www.ibm.com/developerworks/opensource/library/os-lombok/index.html
  下面介绍Lombok如何消除Java代码的冗长。
1.      首先去http://projectlombok.org/. 下载lombok.jar 包
2.  & ......

Java的main方法与类的加载的联系

鉴于许多同学对这个main方法的迷惑!我这里提供一些意见,希望对大家有帮助!呵呵!
     ****我们说加载先:
      Java的类是用到才开始加载的,并且在每个类的构造器调用之前,类的每个域(成员变量)都要首先被编译器初始化一次,然后才轮到构造器来干活儿。但是,Java ......

java程序~天数


//输入某年某月某天,输出这一天是这一年的第几天
public class DaySum {
 public static void main(String[] args)
 {
  date da=new date();
  System.out.println(da.count(2008,12,31));
 }
 
}
class date
{
 int count(int  year,int month,int day) ......

超简单程序99乘法表(java)

public class chengfa {
 public static void main(String[] args)
 {
  model md=new model();
  
  md.method();
  
  
 }
}
class model
{
 public int count=0;
 public int[]b=new int[100];
 
 public void me ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号