高面向对象单子模式.pptx_第1页
高面向对象单子模式.pptx_第2页
高面向对象单子模式.pptx_第3页
高面向对象单子模式.pptx_第4页
高面向对象单子模式.pptx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java高级面向对象 static 单子模式 final 卫昆 易圣通教育 static 单子模式 final static变量 方法和初始化块单子模式final类 方法和变量 static关键字 静态 static关键字用来修饰变量 方法和内部类 称这些变量 方法和内部类为静态变量 静态方法和静态内部类 其存储在静态内存区 static关键字声明一个属性或方法是和类相关的 而不是和类的某个特定的实例相关 因此 这类属性或方法也称为 类属性 或 类方法 如果访问控制权限允许 可不必创建该类对象而直接使用类名加 调用 因为他在类加载的时候就已经进入了内存 static不可用于修饰构造器 static关键字 静态成员变量 当我们编写一个类时 其实就是在描述其对象的属性和行为 而并没有产生实质上的对象 只有通过new关键字才会产生出对象 这时系统才会分配内存空间给对象 其方法才可以供外部调用 有时候希望无论是否产生了对象 或无论产生了多少个对象 某些特定的数据在内存空间都有且仅有一份 例如 所有的中国人都有个国家名称 每一个中国人都共享这个国家名称 不必在每一个中国人的实例对象中都单独分配一个用于代表国家名称的变量 实例 编写中国人这个类Chinese static成员变量country 自己的成员方法可访问这个变量 定义一个外部类TestChinese 讨论从这个外部类中访问country的方法 static关键字 静态成员 类成员 变量 以static修饰的成员就是类成员 类成员属于整个类 而不属于单个对象 当系统第一次准备使用该类时 系统会为该类属性分配到静态内存空间 类属性开始生效 直到该类被卸载 类属性或类方法即可以通过该类来访问 也可以通过类的对象来访问 但是使用类的对象访问和直接使用该类访问并没有区别 系统会在底层把其转换为通过该类来访问类属性 static关键字 静态成员方法 有时候也希望不必创建对象就可以调用某个方法 换句话说也就是该方法不必和对象绑定在一起 解释以前例子中用到的静态变量 静态方法 System out println System gc System arraycopy Arrays sort 等 查JDK文档 参见TestStatic类 static自由块 staticblock 除了用于修饰变量和方法外 还可以用于修饰类中的自由块所谓类的 自由块 就是在类中用 包含起来的不属于任何方法或构造器的代码段使用static来修饰的自由块只在类加载的时候执行一次 通常用于初始化静态变量类中的静态代码块被自动执行 尽管我们产生了类的多个实例对象 但其中的静态代码块只被执行了一次 当一个程序中用到了其他的类 类是在第一次被使用的时候才被装载 而不是在程序启动时就装载程序中所有可能要用到的类 static自由块例子 publicclassCount privateintserialNumber publicstaticintcounter static counter 1 publicstaticintgetTotalCount returncounter publicCount counter serialNumber counter 参见Count类 final关键字 final 用于类 方法 变量前final类 不可被继承 如java lang Math就是一个final类 不可被继承final变量 在初始化后不可改变变量值 用于常量定义 如果final变量是引用变量 则不可以改变它的引用对象 但可以改变对象的数据 属性 final方法 不可被覆盖怎样定义一个全局的常量 用publicstaticfinal共同标记 这个时候就只能在定义的时候赋值 而不能在构造函数中 常量的作用 最大的浮点数圆周率PI 参见B类和TestFinal类 单子 Singleton 唯一 单态模式 有时候 我们需要实现这样的功能 那就是在整个应用中 只有一个实例存在 比如 在PowerPoint中 只能出现一个帮助窗口 如果将这个帮助窗口当作一个类 这就意味着它只能有一个实例 我们在以后会使用JDBC连接数据库程序 也可以使用该模式 利用单子 Singleton 设计模式 可以实现这种需求 所谓类的单子 Singleton 设计模式 就是采取一定的方法保证在整个的软件系统中 对某个类只能存在一个对象实例 并且该类提供了一个取得其对象实例的方法 步骤 1 首先必须将类的构造方法的访问权限设置为private 这样 就不能用new操作符在类的外部产生类的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论