面向对象高级:修饰符:
E① 可修饰变量(属性);②可修饰方法;③可修饰代码块。
语句说明 为类变量,为一个类的共享变量,属于整个类。
为实例变量。
例:
3
#8-*73
#8-<<的结果为 8)此时 #9- 的结果也为 8。
定义的是一块为整个类共有的一块存储区域,其发生变化时访问到的数据都时经过变化的。
其变量可以通过类名去访问:类名-变量名。与通过访问对象的编译时类型访问类变量为等价的。
!"$>%&
表明此类方法为类方法(静态方法)
静态方法不需要有对象,可以使用类名调用。
静态方法中不允许访问类的非静态成员,包括成员的变量和方法,因为此时是通过类调用的,没有对象
的概念。'- 是不可用的。
一般情况下,主方法是静态方法,所以可调用静态方法,主方法为静态方法是因为它是整个软件系统的
入口,而进入入口时系统中没有任何对象,只能使用类调用。
覆盖不适用于静态方法。
静态方法不可被覆盖。(允许在子类中定义同名静态方法,但是没有多态,严格的讲,方法间没有多态
就不能称为覆盖)
当 修饰代码块时(注:此代码块要在此类的任何一个方法之外),那么这个代码块在代码被装载
进虚拟机生成对象的时候可被装载一次,以后再也不执行了。
一般静态代码块被用来初始化静态成员。
通常用于 ," 模式开发:
," 是一种设计模式,高于语法,可以保证一个类在整个系统中仅有一个对象。
88-=7
5 可以修饰类、属性、方法。
当用 5 修饰类的时候,此类不可被继承,即 5 类没有子类。这样可以用 5 保证用户调用时动
作的一致性,可以防止子类覆盖情况的发生。
当利用 5 修饰一个属性(变量)的时候,此时的属性成为常量。
22 利用 5 定义常量(注意在 22 命名规范中常量需要全部字母都大写):
;2*87;
常量的地址不可改变,但在地址中保存的值(即对象的属性)是可以改变的。
; 可以配合 使用。?
5,*87;
在 22 中利用 5 的组合方式对常量进行标识(固定格式)。
对于在构造方法中利用 5 进行赋值的时候,此时在构造之前系统设置的默认值相对于构造方法失效。
达内 java 学习笔记