美文网首页
javaSE_day07_访问权限

javaSE_day07_访问权限

作者: 智慧之门 | 来源:发表于2018-05-18 09:19 被阅读0次

    访问修饰符

                                      本类    同包    子类    不同包

    private      私有的       可以

    default       默认         可以    可以

    protected  保护          可以    可以    可以

    public        公共的      可以    可以    可以  可以

    -----------------------------------------------------

    :public,默认。

    类中的成员:public,protected,默认,private

    -----------------------------------------------------

    static  静态

    修饰:属性,方法,代码块,类。

    --------------------------------------------

    修饰属性:静态成员变量(类变量)

    实例成员变量:属于 对象,存在堆中。

    静态成员变量:属于 类,存在 方法区中 。被所有对象所共享 ,优先于对象存在。

    使用语法

      类名.类变量

      对象名.类变量//尽量不使用此方式

    场合

      当数据 需要共享时使用。

    ************************************************************************************************************************************

    实例成员变量  和  静态成员变量的区别:

    1.静态成员变量 属于类; 实例成员变量 属于 对象;

    2.加载类 时 加载静态变量;创建对象时  创建 实例变量;

    3.类销毁时(应用程序结束时) ,静态变量销毁; 所以 静态 变量的生命周期长。 对象销毁了 , 实例变量 会 销毁。

    ***************************************************************************************************************************************

    -------------------------------------------------

    修饰方法:静态方法

    注意

    1.静态方法只能直接访问 静态成员。

    2.不能使用 this,super.

    场合

      1.不用创建对象使用;

      2.共享的方法,使用简单。

    ********************************************************************************************

    静态方法 和  普通实例方法区别:

    1. 静态方法只能直接访问 静态成员。 实例方法 都可以访问;

    2.静态方法 不能使用 this,super;实例方法可以 使用 this,super.

    3.静态方法 不用对象 ,用类名 就可以调用。实例方法 必须 用对象调用。

    *******************************************************************************************

    --------------------------------------------

    修饰代码块

    1.静态块

    class 类{

      static{

        初始化类;

      }

    }

    执行:类加载的时候自动执行;静态块 优先 构造块;

    2.构造块

    class 类{

      {

      初始化 对象

      }

    }

    3.局部代码块

    定义:

    public void 方法中(){

      {

        作用:限制 局部变量的 使用范围 和 生命周期。

      }

    }

    -------------------------------------------

    静态导入

    import static 包名.类型名.静态成员;

    import static 包名.类型名.*;

    --------------------------------------------

    单例模式

    饿汉式 懒汉式 区别:

    1.饿汉式 静态变量 在类加载时 就已经 创建对象赋值了;懒汉式 只有在调用方法使用时 才 创建对象赋值。

    2.多线程使用时 ,饿汉式更安全;懒汉式 数据不安全。(线程非安全)

    ----------------------------------------------------

    随机数

    方式一

    Math类的方法:

    //任意范围  [最小值,最大值]

    // int 随机整数  =  (int)(Math.random()*(最大值 - 最小值 + 1)+最小值);

    方式二

    Random 类的方法;      随机种子

    相关文章

      网友评论

          本文标题:javaSE_day07_访问权限

          本文链接:https://www.haomeiwen.com/subject/golddftx.html