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;">





posted @ 2018-08-20 23:14  JokerZM  阅读(125)  评论(0编辑  收藏  举报