一、面向对象
1、帮助文档的制作javadoc
- set classpath=要加.;
- /** */ 文档注释 javadoc.exe >javadoc -d myhelp -author -version ArrayTool.java (这个类要生成文档,必须public修饰) (@version @author @param 参数)
2、静态代码块
- 特点:随着类的加载而加载,只执行一次,并优先于主函数。用于给类初始化的。
static { 静态代码块中的执行语句。 }
3、单例设计模式:解决一个类在内存中只有一个对象
- 饿汉式:这个是先初始化对象。Single类一进内存,就已经创建好了对象。
class Single { private int num; private Single(){} void setNum(int num) { this.num = num; } int getNum() { return num; } static Single s = new Single(); static Single getInstance() { return s; } } class MySingleDemo { public static void main(String[] args) { Single s1 = Single.getInstance(); Single s2 = Single.getInstance(); s1.setNum(22); System.out.println(s2.getNum()); //s2得22,这就是单例模式(同一个引用) } }
- 懒汉式(不常有,面试官会用):对象是方法被调用时,才初始化,也叫做对象的延时加载。Single类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象。
class Single { private int num; void setNum(int num) { this.num = num; } int getNum() { return num; } private Single(){} static Single s = null; static Single getInstance() //要加synchronized 讲了多线程再讲这里 { if(s == null) { s = new Single(); } return s; } }
- 定义单例,建议使用饿汉式。开发一般用饿汉式 。
二、异常
1、自定义异常
class FuShuException extends Exception
{
private int value;
FuShuException()
{
super();
}
FuShuException(String message, int value)
{
super(message);
this.value = value;
}
int getValue()
{
return value;
}
}
class Demo
{
static int div(int a, int b) throws FuShuException
{
if(b < 0)
throw new FuShuException("除数为负数了—————— / by fushu", b);
return a / b;
}
}
class MyExceptionDemo3
{
public static void main(String[] args) // throws FuShuException
{
try
{
System.out.println(Demo.div(7, -3));
}
catch (FuShuException e)
{
System.out.println(e.toString());
System.out.println("错误的除数为:" + e.getValue());
}
}
}
2、RuntimeException