------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
==========================================
08-01-01
==========================================
1.数组工具类中静态的使用.
建立一个ArrayTool数组工具类
如果没加静态就要new一个ArrayTool,加了静态就可以直接用ArrayTool.工具 方便
该类中的方法都是静态的,所以该类是不需要创建对象的,为了保证不让其他类创建该类对象,可以将构造函数私有化.
private ArrayTool(){}
2.文档注释
javadoc -d myhelp -author -version ArrayTool.java
形成后打开index.html
==========================================
08-01-04
==========================================
1.单例设计模式
解决的问题:可以保证一个类在内存中的对象唯一性.
必须对于多个程序使用同一配置信息对象时,就需要保证该对象的唯一性.
2.如何保证对象唯一性呢?
1不允许其他程序用new创建该类对象.
2在该类创建一个本类实例.
3对外提供一个方法,让其他程序可以获取该对象.
步骤:
1私有化该类的构造函数
private Single(){}
2通过new在本类中创建一个本类对象
static Single s=new Single();
3定义一个共有的方法,将创建的对象返回
public static void getInstance(){
return s;
}
class Single{
static Single s=new Single();
private Single(){}
public static Single getInstance()
{
return s;
}
}
过程:几个对象想共用一个控制对象,如果每次都new,内存占的太多,如果全部都静态,生命周期太长,所以,只要保证这些对象用的是同一个控制对象,就可以了.
所以
Single s2=Single.getInstance();
或者
Single s2=Single.s;
就可以调用Single实例.
单例设计模式保证了实例唯一.
==========================================
08-01-05
==========================================
单例设计模式 内存图解:
class Single
{
private static Singles=newSingle()
private Single(){}
public static Single getInstance()
{
return s;
}
}
main()
{
Single s1=Single.getInstance();
Single s2=Single.getInstance();
sysout(s1==s2);
}
1.主函数,s1进栈.
2.Single进方法区
3.Single(){}进方法区
4.Single进静态方法区 s=null
5.getInstance也在静态方法区
6.堆里产生对象,地址指向s
7.getI方法进栈,出栈
8.s2进栈,获得地址,getI进栈出栈
9.s1,s2都指向一个对象.
==========================================
08-01-06
==========================================
单例--懒汉式
class Single
{
private static Single s=null;
private Single(){}
public static Single getItce()
{
if(s==null)
s=new Single();
return s;
}
}
只有调用getI方法时,才会创建对象.
之前那种叫饿汉式,类一加载,对象就存在了,这种叫做懒汉式.因为真正用到的时候才创建对象.
懒汉式在多线程时可能会导致不能保证对象唯一性,有安全隐患.
==========================================
08-01-07
==========================================
1.继承的好处
1提高了代码的复用性.
2让类与类之间产生了关系,给第三个特征多态提供了前提.
3java中支持单继承,不直接支持多继承,但对c++中的多继承机制进行了改良,因为多继承当多个父类有相同成员时,会产生调用的不确定性.
2.当要使用一个继承体系时,
1查看该体系中的顶层类,了解该体系的基本功能.
2创建体系中的最子类对象,完成功能的使用.
3.什么时候定义继承
当类与类之间存在着所属关系的时候
4.super
this代表一个本类对象的引用
super代表一个父类空间
5.覆盖注意:
1子类方法覆盖父类方法时,子类必须权限要大于等于父类的权限.