static final singleton

一。

1.static 修饰符 可以修饰 :属性(静态属性) 方法(静态方法)  类(这里略过)

  static 调用属性或方法  类名.属性或方法     --Person.age     --Person.change

2. 在有static修饰的类中执行顺序是:同一个类,按照 static修饰的静态属性方法  非静态属性方法 构造方法 的顺序从上到下执行

                                               存在继承关系时先执行1.父类静态属性方法 2.子类静态属性方法,然后是父类非静态属性方法 父类构造方法 子类非静态属性方法 子类构造方法

3. 注意:对于static的属性一旦被某一个人修改了,那么其他的调用全部受影响

            在非static方法里面可以访问所有;在static里面只能访问static里面的

            所有的static方法和属性都是在加载类的时候初始化的,在静态方法(static修饰)里面不能使用this关键字调用别的非static属性方法

           static的方法是被所有的对象共有,并且static的所有属性和方法都只有一份

           static方法不能被重写,只能被继承,如果对象之间存在多态,那么调用的方法由对象变量的类型来决定

          如果继承过来的方法和自己的一模一样,那么父类继承过来的会被子类隐藏(hidden)

二。

1. final  修饰原生数据类型时 它们就是常量;修饰引用类型时它就不能再指向其它的对象,但指向的对象的内容可以改变

         修饰 类为终态类 不能被继承

                属性为 常量 不能被改变

                方法为终态方法 不能重写

2. 赋值初始化:final修饰的变量必须显示的初始化否则报编译错误

           在声明时便赋值初始化

           声明时不赋值:可在构造方法中赋值初始化

                               可在动态代码块中赋值初始化

三。

  singleton 单例 : 在一个系统中永远只有一个对象

    1.如果不希望用户可以随意创建对象,那么将对象的构造方法访问修饰符设置为private

private SingletonTest()

{}

    2.在单例类的内部创建一个单例对象,并且将其设置为static的

private static SingletonTest singleton = new SingletonTest;

    3.提供一个公共的方法用来供用户调用当前的单例对象

public static SingletonTest getInstance()

{

   if(null == singleton)

   {

       singleton = new SingletonTest();

    }

     return singleton;

}

原文地址:https://www.cnblogs.com/savepoint/p/5360979.html