今日无事,学习。
今日总结:
面向对象高级:
static:叫静态,可以修饰成员变量、成员方法。
成员变量按照有无static修饰,分为两种:
●类变量:有static修饰,属于类,在计算机里只有一份,会被类的全部对象共享。
●实例变量(对象的变量):无static修饰,属于每个对象的。
方法也相同:
●类方法:有static修饰的成员方法,属于类。/工具类建议构造器私有化
●实例方法:无static修饰的成员方法,属于对象。
注意事项:
●类方法中可以直接访问类的成员,不可以直接访问实例成员。
●实例方法中既可以直接访问类成员,也可以直接访问实例成员。
●实例方法中可以出现this关键字,类方法中不可以出现this关键字的。
代码块:代码块是类的5大成分之一(成员变量\构造器\方法\代码块\内部类)
代码块分为两种:
●静态代码块:
格式: static {}
特点:类加载时自动执行,由于类只会加载一次,所以静态代码块也只会执行一次。
作用:完成类的初始化,例如:对类变量的初始化赋值。
●实例代码块:
格式: {}
特点:每次创建对象时,执行实例代码块,并在构造器前执行。
作用:和构造器一样,都是用来完成对象的初始化的,例如:对实例变量进行初始化赋值。
单例设计模式:确保一个类只有一个对象。
写法
●把类的构造器私有。
●定义一个类变量记住类的一个对象。
●定义一个类方法,返回对象。