欢迎来到天天文库
浏览记录
ID:49472641
大小:78.50 KB
页数:10页
时间:2020-02-07
《高级类特性(上).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、高级类特性(上)static变量、方法和初始化器final类、方法和变量abstract类和abstract方法static关键字(示例7-1)static关键字用来修饰变量、方法和内部类,称这些变量、方法和内部类为静态变量、静态方法和静态内部类static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为“类属性”或“类方法”如果访问控制权限允许,可不必创建该类对象而直接使用类名加“.”调用static不可用于修饰构造器static自由块(示例7-2)除了用于修饰变量和方
2、法外,还可以用于修饰类中的自由块所谓类的“自由块”,就是在类中用“{}”包含起来的不属于任何方法或构造器的代码段使用static来修饰的自由块只在类加载的时候执行一次,通常用于初始化静态变量static自由块例子publicclassCount{privateintserialNumber;publicstaticintcounter;static{counter=1;}publicstaticintgetTotalCount(){returncounter;}publicCount(){counter++;seria
3、lNumber=counter;}}单子(Singleton)设计模式(示例7-3)有时候,我们需要实现这样的功能:那就是在整个应用中,只有一个实例存在。比如,在PowerPoint中,只能出现一个帮助窗口。如果将这个帮助窗口当作一个类,这就意味着它只能有一个实例。利用单子(Singleton)设计模式,可以实现这种需求。final关键字final---用于类、方法、变量前final类---不可被继承,如java.lang.Math就是一个final类,不可被继承final变量---在初始化后不可改变变量值,用于常量定
4、义。如果final变量是引用变量,则不可以改变它的引用对象,但可以改变对象的数据(属性)(示例7-4)final方法---不可被覆盖(示例7-5)abstract(示例7-6)可以使用abstract来修饰一个类或者方法。用abstract修饰的类表示这个类是一个抽象类,用abstract修饰的方法表示这个方法是一个抽象方法。抽象类不能被实例化抽象方法是只有方法声明,而没有方法的实现的方法。抽象类(abstractclass)抽象类里面并非一定需要抽象方法,但是没有抽象方法,抽象类就没有存在的必要在以下任一条件成立时,
5、类必须定义成抽象类:类中有至少一个抽象方法类继承了父类中的抽象方法,但是至少有一个抽象方法没有实现类实现了某个接口,但没有全部实现接口中的方法抽象类的例子publicabstractclassShapes{/***得出周长*/publicabstractdoubleperimeter();/***得到形状*/publicabstractStringgetType();}抽象类的例子(con.)publicclassShapeTriangleextendsShapes{protecteddoublea,b,c;……/**
6、*实现父类中的抽象方法*/publicdoubleperimeter(){returna+b+c;}publicStringgetType(){return"三角形";}}
此文档下载收益归作者所有