|
|
1,类修饰符:public:可在任何地方被访问
abstract:不能被实例化(不一定有抽象方法,如果有抽象方法一定是抽象类)
final:不能被继承,即不能有子类(被final修饰的类不能被继承,方法不能被重写,变量必须赋初值且不能被改变。
2,方法修饰符:
public:任何地方
protected:能被子类访问,不论子类是否和父类在同一包内,同一包内可访问,不同包内非子类不能访问(即使是该类对象)。
default:本类,同一包内
private:只能在本类中被访问
3,单例设计模式/**
* 单例有懒汉式和饿汉式,不同在:饿汉式在类类被创建时就已创建对象,且一直不再改变,因此是线程安全的 * 懒汉式的话,可延迟加载,但当多线程时会产生线程安全问题,加同步锁或同步代码块可解决这个问题,但会使效率降低,采用双重判断的话,可将低效率问题解决,同步的锁是 * 该类的字节码文件。 * @author n * * 单例设计模式之懒汉式 */private DemoA(){}private static DemoA a=null;public static DemoA getInstance(){if(a==null){synchronized (DemoA.class) {if(a==null){a=new DemoA();}}}return a;}//饿汉式private DemoA(){}private static final DemoA a=new DemoA();public static DemoA getInstance(){return a;}
|
|