面向对象进阶
static静态属性
概述: static表示“静态”的意思,可以用来修饰成员变量和成员方法(后续还会学习 静态代码块 和 静态内部类)。 static的主要作用在于创建独立于具体对象的域变量或者方法 简单理解: 被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。 并且不会因为对象的多次创建 而在内存中建立多份数据 重点: 1. 静态成员 在类加载时加载并初始化。 2. 无论一个类存在多少个对象 , 静态的属性, 永远在内存中只有一份( 可以理解为所有对象公用 ) 3. 在访问时: 静态不能访问非静态 , 非静态可以访问静态 ! △:公用属性设置为static 使用 类.属性名(); 进行设置 设置后所有对象的该属性都改变
代码块
普通代码块 在执行的流程中 出现的 代码块, 我们称其为普通代码块。 构造代码块 在类中的成员代码块, 我们称其为构造代码块, 在每次对象创建时执行, 执行在构造方法之前。 区别于构造方法: 构造方法不一定执行 但无论用户调用哪种构造方法,构造代码块都必定执行 静态代码块 在类中使用static修饰的成员代码块, 我们称其为静态代码块, 在类加载时执行。 每次程序启动到关闭 ,只会 执行一次的代码块。 同步代码块 在后续多线程技术中学习。 面试题:构造方法 与 构造代码块 以及 静态代码块的执行顺序: 静态代码块 --> 构造代码块 --> 构造方法
版权声明:本文为haozhzhzh原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。