【精品】java 实用程序设计(西电版第4章 java高级特性(可编辑.ppt
《【精品】java 实用程序设计(西电版第4章 java高级特性(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】java 实用程序设计(西电版第4章 java高级特性(可编辑.ppt(68页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java 实用程序设计(西电版)第4章 Java高级特性2 2第 4 章 Java 高级特性4.1 静态变量、方法与初始化程序块有些情况下,一方面,我们可能希望为某一个成员变量分配单一的存储空间,而不需要考虑到底要创建多少个对象,甚至不需要创建任何对象。另一方面,我们可能还希望某个方法不跟任何对象实例相关联,不需要任何对象实例也能调用这个方法。通过static关键字可以实现这两方面的需求。3 3第 4 章 Java 高级特性1.静态变量静态变量指的是在类的成员变量声明中带有static关键字的变量。对于一个类,无论创建出多少个该类的实例对象,静态变量都只占用一份存储区域,这份存储区域在虚拟机的
2、方法区内(详见附录2)。static关键字不能应用于局部变量,只能应用于成员变量。4 4第 4 章 Java 高级特性5 5第 4 章 Java 高级特性6 6第 4 章 Java 高级特性7 7第 4 章 Java 高级特性8 8第 4 章 Java 高级特性9 9第 4 章 Java 高级特性3.静态初始化程序块在类定义中,不属于任何方法体且以static关键字修饰的语句块称为静态语句块。由于静态语句块中的语句常用来对静态变量进行初始化,因而又称为静态初始化程序块。10 10第 4 章 Java 高级特性11 11第 4 章 Java 高级特性12 12第 4 章 Java 高级特性4.静
3、态数据的初始化对静态成员变量进行正确的初始化是类装载器体系结构(附录2)基本功能的一部分。从程序设计的角度,我们需要知道,对一个类的静态成员的显式初始化,以及该类的所有静态初始化程序块都是在Java虚拟机装载这个类的时候执行的。当一个类的字节码被从.class文件中装载到Java虚拟机中(通常在虚拟机的方法区中)时,静态成员变量的存储空间就已经被开辟,这些初始化动作随之完成,静态成员的初始化也就完成了。13 13第 4 章 Java 高级特性14 14第 4 章 Java 高级特性15 15第 4 章 Java 高级特性16 16第 4 章 Java 高级特性17 17第 4 章 Java 高
4、级特性18 18第 4 章 Java 高级特性5.静态方法的重写从重写规则上讲,Java语言要求子类不能把父类的静态方法重写为非静态,也不能把父类的非静态方法重写为静态,但子类可以定义与父类静态方法的声明相同的方法,如例4-6的mtd2()。19 19第 4 章 Java 高级特性2020第 4 章 Java 高级特性21 21第 4 章 Java 高级特性4.2 final关键字与常量final关键字是Java中的常用关键字,用来表示类不能被继承、变量的值不能更改、成员方法不能被重写。2222第 4 章 Java 高级特性1.在成员方法声明中使用final在成员方法的声明中使用final关键
5、字,目的是禁止任何子类重写这个方法,这样,在继承的过程中,该方法的行为就不会改变。2323第 4 章 Java 高级特性2.在类声明中使用final当在类声明中使用final关键字时,表明不允许任何其他类继承该类。由于final的类不允许被继承,因而该类的方法也就无法被重写(继承是重写的前提),因此,final类中的所有方法实际上都被隐含指定为final的。2424第 4 章 Java 高级特性3.在变量和方法参数中使用final当一个成员变量或局部变量被声明为final的,那么变量一旦被赋值就不能改变。对于基本类型的final变量,变量值不能改变。对于引用类型的final变量,一旦引用被初始
6、化指向一个对象实例,就无法再让它指向另一个对象实例。但是,对象实例所包含的内容却是可以更改的,Java也没有提供任何使得对象实例作为整体恒定不变的途径。对于数组类型的final变量,效果与引用类型的变量类似。2525第 4 章 Java 高级特性2626第 4 章 Java 高级特性2727第 4 章 Java 高级特性2828第 4 章 Java 高级特性2929第 4 章 Java 高级特性3030第 4 章 Java 高级特性4.3 抽象类与接口接口提供了一种将“做什么”与“怎么做”分离的手段。抽象类可以认为是介于普通的类与接口之间的一种中间状态。31 31第 4 章 Java 高级特性
7、1.抽象类在图3-1(b)所示的例子中,创建“形状”类型的目的可能不是使用它的行为,而是为它的所有子类创建一个统一的接口。不同子类可以用不同的方式表示此接口,这一接口表示了所有子类的共同部分和共通特征。3232第 4 章 Java 高级特性所谓抽象方法,指的是只有方法声明而没有方法体的方法。抽象方法在声明时必须加上关键字abstract,例如:abstract void f();3333第 4 章 Java 高级特性3434第 4 章 Java 高级特性3535第 4 章 Java 高级特性3636第 4 章 Java 高级特性2.接口接口的直觉含义是:所有实现了接口的类的行为都像接口所指定的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 【精品】java 实用程序设计西电版第4章 java高级特性可编辑 java 实用程序 设计 西电版第 高级 特性 编辑
限制150内