zoukankan      html  css  js  c++  java
  • static关键字

    特点:

    随着类的加载而加载

    优先于对象存在

    被所有对象所共享

    可以直接被类名调用

    使用注意:

    静态方法只能访问静态成员

    但是非静态成员可以访问静态成员;

    静态方法中不可以使用this,super关键字

    主方法(main)是静态的(可以利用类名去调用静态的main方法,很正常!但是会陷入死循环,导致内存溢出,jvm自动停止!)

    public static void main(String[] agrs){}

     

    可修饰字段,方法。

    static 修饰的成员表示它属于这个类共有,而不是属于该类的单个实例。

                  static 修饰的字段 == 类字段

                  static 修饰的方法 == 类方法

     

    没使用static修饰的字段和方法,成员属于类的单个实例,

           不属于类。

                  没有static 修饰的字段 == 实例字段

                  没有static 修饰的方法 == 实例方法

     

    类和实例访问字段和方法的语法:

    访问类成员:       类.字段     类.方法

    访问实例成员:    实例.字段         实例.方法

     

    我的总结:

    static 修饰的字段和方法,既可以通过类调用,也可以使用实例调用;

    static 修饰的字段和方法,只能使用实例来调用(建议使用:类名来调用;    其实在底层,对象调用类成员,也会转换类名调用)

     

    static关键字不能与thissuper同时连用!

     

    1.
    main 因为是static静态的,不能指示新创建的类和父类
    this(有参数/无参数)  用于调用本类相应的构造函数
    super(有参数/无参数) 用于调用父类相应的构造函数
    this.  后跟方法或属性 指示本类的方法或属性
    super. 后跟方法或属性(父类中指明的public protected)

    2.
    调用父类方法改变此变量就只能改变父类里面的此变量,而不能改变子类里面的变量,为什么呢?

    调用父类的方法改变的变量只能是父类的变量这是必然的,因为父类中不存在子类新加的变量,因此只能改变父类中的变量

  • 相关阅读:
    小刘同学的第一百五十二篇日记
    小刘同学的第一百五十一篇日记
    小刘同学的第一百五十篇日记
    小刘同学的第一百五十篇日记
    小刘同学的第一百四十九篇日记
    小刘同学的第一百四十八篇日记
    小刘同学的第一百四十七篇日记
    小刘同学的第一百四十六篇日记
    小刘同学的第一百四十五篇博文
    自定义CollectionViewLayout
  • 原文地址:https://www.cnblogs.com/whu-2017/p/9225399.html
Copyright © 2011-2022 走看看