static
static的访问方式:
* static修饰后成员的使用
* 没有被static修饰的成员,是每个对象的特有属性:必须创建对象才能访问
*
* 被static修饰的成员,属于类,被每个对象所共享,有两种访问方式
* 1.可以创建对象访问,不建议,有黄色警告
* 2.可以通过类名.静态成员变量/类名.静态成员方法(参数),不用创建对象,直接访问
* static注意事项
* 1.同一个类中,静态成员只能访问静态成员,静态优先于非静态存在于内存中, 非静态成员可以访问静态成员
* 2.main方法为静态方法仅仅为程序执行入口,它不属于任何一个对象,可以定义在任意类中。
//静态成员只能访问静态成员,静态优先于非静态存在于内存中
//静态不能访问非静态的成员,因为看不到非静态成员,非静态成员只有创建对象之后,才会进入到内存中
代码块:
* 代码块:被{}包裹起来的多行代码
*
* 局部代码块:定义在方法中的代码块 , 需要注意变量的作用域:在自己所在的{}范围内有效
* 构造代码块:定义在成员(类中,方法外)位置的代码块,
* 优先于构造方法执行,是每个对象所特有* 创建一次对象,就会执行一次* 作用:* 1.可以成员变量赋值* 2.可以把所有构造方法中,共性的内容放在构造代码块中,提高代码复用性
* 静态代码块:定义在成员(类中,方法外)位置,被static修饰的代码块
static多态调用中,(多态:父类的引用变量执向了子类对象)
编译:
都看等号左边的父类,父类有编译成功,父类没有编译失败
运行:
成员变量:编译运行全看父类
成员方法:非静态的方法,运行子类重写的方法
静态的方法,运行父类中的静态方法
原因:静态属于类,不属于对象
对象的多态性,静态和对象无关,父类的引用.静态方法,调用的是父类中的静态方法
static修饰包:
import static 类的全限定类名.* 表示导入该类下的全部静态方法到本类中。
作用:类名.方法名 可用 方法名 的方式替换,直接调用静态方法。减少代码量提高代码复用性。
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">
出身决定命运,但努力一定不会错。