高级类特性(上).ppt_第1页
高级类特性(上).ppt_第2页
高级类特性(上).ppt_第3页
高级类特性(上).ppt_第4页
高级类特性(上).ppt_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、高级类特性(上),static变量、方法和初始化器 final类、方法和变量 abstract类和abstract方法,static关键字(示例7-1),static关键字用来修饰变量、方法和内部类,称这些变量、方法和内部类为静态变量、静态方法和静态内部类 static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为“类属性”或“类方法” 如果访问控制权限允许,可不必创建该类对象而直接使用类名加“.”调用 static 不可用于修饰构造器,static自由块(示例7-2),除了用于修饰变量和方法外,还可以用于修饰类中的自由块 所谓类的“自由块”,

2、就是在类中用“”包含起来的不属于任何方法或构造器的代码段 使用static来修饰的自由块只在类加载的时候执行一次,通常用于初始化静态变量,static 自由块例子,public class Count private int serialNumber; public static int counter; static counter = 1; public static int getTotalCount() return counter; public Count() counter+; serialNumber = counter; ,单子(Singleton)设计模式(示例7-3),有

3、时候,我们需要实现这样的功能:那就是在整个应用中,只有一个实例存在。比如,在PowerPoint中,只能出现一个帮助窗口。如果将这个帮助窗口当作一个类,这就意味着它只能有一个实例。 利用单子(Singleton)设计模式,可以实现这种需求。,final关键字,final-用于类、方法、变量前 final类-不可被继承,如java.lang.Math就是一个 final类,不可被继承 final变量-在初始化后不可改变变量值,用于常量定义。如果final变量是引用变量,则不可以改变它的引用对象,但可以改变对象的数据(属性)(示例7-4) final方法-不可被覆盖(示例7-5),abstract

4、(示例7-6),可以使用abstract来修饰一个类或者方法。 用abstract修饰的类表示这个类是一个抽象类,用abstract修饰的方法表示这个方法是一个抽象方法。 抽象类不能被实例化 抽象方法是只有方法声明,而没有方法的实现的方法。,抽象类(abstract class),抽象类里面并非一定需要抽象方法,但是没有抽象方法,抽象类就没有存在的必要 在以下任一条件成立时,类必须定义成抽象类: 类中有至少一个抽象方法 类继承了父类中的抽象方法,但是至少有一个抽象方法没有实现 类实现了某个接口,但没有全部实现接口中的方法,抽象类的例子,public abstract class Shapes /* *得出周长 */ public abstract double perimeter(); /* *得到形状 */ public abstract String getType(); ,抽象类的例子(con.),public class ShapeTriangle extends Shapes protected double a,b,c; /* *实现父类中的抽象方法 */ publ

温馨提示

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

最新文档

评论

0/150

提交评论