javaSE_day07_访问权限

访问修饰符

                                  本类    同包    子类    不同包

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 类的方法;      随机种子

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 1,558评论 0 6
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 1,845评论 0 10
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,656评论 8 265
  • 行走竹桥 走进你 恍若隔世 聆听你 静若繁花 这里拒绝喧嚣 沿途可以听到梵音般的天籁 这里不必步履匆匆 ...
    淡之烟阅读 325评论 0 2
  • 很久了,没有了对幸福的期望,没有了理想的前进的动力,没有了好好生活的动力,甚至不想让生命和有大家一样长的时间,小时...
    艾薇琪阅读 99评论 0 0