java笔记4
private关键字
1.是一个权限修饰符。
2.用于修饰成员
3.被私有化的成员只能在本类中有效
常用之一:
-将成员变量私有化,对外提供对应的set,get方法对其进行访问,提高对数据访问的安全性。
构造函数:
特点:
1.函数名和类名相同
2.没有返回值类型,连void都没有
3.没有具体的返回值
注意:
1.如果你不提供构造方法,系统会默认给出构造方法;
2.如果你提供了构造方法,系统将不再提供;
3.构造条件可以重载的,重载条件与普通方法相同
this关键字:
this :代表在类的对象引用
方法被哪个对象调用,this就代表那个对象
什么时候使用this呢?
局部变量和成员变量重名
static 关键字:
特点:
1.static是一个修饰符,用来修饰成员变量
2.static修饰的成员是被多个对象共享的,修饰的数据就成为了共享数据
3.static修饰的成员,优于对象先存在计算机内存中的,随着类的加载而存在
4.多了一种调用方式,类名.成员
成员变量与静态变量区别?
1.存储位置不同
成员变量存在堆内存中
静态变量存在静态代码区
2.调用方式不同
成员变量是通过对象,成员来调用
静态变量可以通过对象,类名来调用
3.生命周期不同
成员变量存随呃呃对象的产生而产生
静态变量存在静态代码区
4.别名不同
成员变量也叫实例变量
静态变量也叫类变量
注意:
1.静态成员只能访问静态成员(费静态成员既都可以访问)
2.静态方法中不能有this与super
单例设计模式
怎么保证对象只有一个呢?
1.不能让别人new对象(加private)
2.对外提供一个公共方法,供别人调用来完成创建对象这个操作
3.在本类中创建一个本类的实例(即没有调用这个对象就创建了)//立即加载
代码块
1.构造代码块
2.静态代码块
3.局部代码块
4.构造函数
局部代码块:特点以{}划定代码区域,此时只需要关注作用域的不同即可
构造代码块:定义在类中成员位置的代码块
特点:优先于构造方法执行,构造代码块用于执行所有对象均需要的初始化动作,每创建一个对象均会执行一次构造代码块
静态代码块:定义在成员位置,使用static修饰的代码块
特点:它优先于主方法执行,优先于构造代码块执行,当以任意形式第一次使用到该类时执行。该类不管创建多少对象,静态代码块只执行一次,可用于给变量赋值,用来给类进行初始化。