类的高级概念
类的高级概念

定义:用来定义类中的属性和行为,能够被其他类在什么情况下可以进行访问的符号
public > protected > default > private

访问修饰符
公开访问级别:使用public关键字修饰。(大)
1.该类或非该类都可以访问
2.公开可以被任何其它对象访问。
受保护访问级别:使用protected关键字修饰。
1.该类及其子类的成员可以访问,同一个包中的类可以访问
2.受保护的可以被同一包中的类所访问,还可以被类的子类所访问,不管子类是在哪个包中
默认访问级别:没有访问修饰符。(default)。
1.相同数据包中的类可以访问
2.默认访问可以被同一包中的其它类所访问。
私有访问级别:使用private关键字修饰。(小)
1.只有该类可以访问
2.私有只有类本身可以访问,不对外公开

封装的概念及好处
定义:
1.是oo 的四大特征之一(继承、封装、多态、抽象)
2.用于组装类的属性和行为,并通过访问修饰符以及方法来隐藏类的成员的方式
优点:
1.类还可以改变一个成员变量的数据类型,从而让类的调用不能轻易的,凭借经验就判断出类的成员变量
2.类可以通过对方法的控制,完成对成员变量的内容的整体控制。比如:天王盖地虎
3.类的成员变量通过访问器和修改器进行控制,可以成为只读或只写,不再是外部 可以任意操作

类的静态成员
定义:static修饰的全局变量叫静态变量,也叫类变量。类变量的值为所有对象所共享

定义:static修饰的全局变量叫静态方法,也叫类方法。类方法只能使用静态变量,而不能使用非静态的全局变量

在修饰方法(静态方法)时,对应的方法可被称为类方法,跟变量一样,同样与对象已经无关,直接上升为类的行为。非静态方法,必须要等到实例化对象后才可以调用,而静态方法,在类加载之后,就可以直接调用

static
static修饰的内容存在于内存的时机:类加载的时候
static的适用场景:
1.static在修饰全局变量时,一般用于修饰常量,主要目的:节约内存,将变量定义在静态区域中,而不是每个对象自身
2.static在修饰方法时,一般用于修饰工具类的工具方法,比如:Math类,array类,stringUtils类

static无法修饰构造函数,因为static修饰的属性或行为都与对象无关,但构造是专门产生对象的

静态方法中,不能访问非静态成员(属性也指方法)的原因是:
1.静态方法在加载时,非静态属性,方法压根就还没有调用
2.假设可以调用,那么存在成千上万个对象,调用谁的属性的行为?

静态初始化块和实例初始化块的用法
静态初始化块:
1.静态初始化块,需放置在属性之下,构造之上
2.在类加载时,执行一次
3.主要用于在类加载时,做一些前期的准备工作,比如:检查数据库连接是否正常,检查配置文件是否存在,或者提前读取某些文件内容,到内存中。在类加载时,就开始执行

实例初始化块:
1.实例初始化块,需放置在属性之下,构造之上
2.每实例化一次,执行一次
3.主要用于初始化成员变量,一般是对象实例化时,才会执行,并且实例化一次,执行一次。它执行在构造函数执行代码的第三步到第四步之间。当然可以使用有参构造替代实例初始化块

内部类的使用方式

相关文章: