Java2高级编程:面向对象特性详解
需积分: 18 42 浏览量
更新于2024-08-18
收藏 666KB PPT 举报
"Java2高级编程,主要涵盖了面向对象特性,包括访问控制符、静态属性和方法、抽象类与抽象方法、最终类和方法,以及继承和类的图形表示UML。"
在Java中,`this`关键字是用于引用当前对象自身的引用。在给出的描述中,`this`在`B`类的构造函数中被用来区分局部变量`y`和类成员`y`。`this.y = x;`表示将构造函数的参数`x`赋值给当前对象的成员`y`。同时,`this(0,0);`是调用同一类中的另一个构造函数,这称为构造函数的相互调用,它使得代码更简洁且易于维护。
访问控制符在Java中扮演着重要的角色,它们决定了类的属性和方法的可访问性:
- `public`:任何地方都可以访问。
- 缺省(无修饰符):在同一包内的类可以访问。
- `private`:只有在定义它的类内部可以访问。
- `protected`:在同一包或任何子类中可以访问。
- `private protected`:这是一个不常用的概念,表示只能被所有子类访问,但不能被包内的其他类访问。
静态属性和方法是属于类的,而不是类的实例。`static`关键字标识了它们的存在,如`static int count;`是类属性,`static void printMessage();`是类方法。静态方法只能访问类的静态成员,但可以操作非静态的其他类对象。
抽象类和抽象方法是面向对象设计的重要概念。抽象类通常用`abstract`关键字定义,它不提供完整的实现,而是作为其他类的基类,提供公共接口。抽象方法没有具体实现,只有方法签名。例如,`abstract void fly();`。抽象类不能直接实例化,只能通过其非抽象子类来创建对象。抽象方法必须在抽象类中定义。
`final`关键字用于禁止进一步的修改或扩展。它可以修饰类、属性和方法:
- `final class MyClass`表示MyClass不能被继承。
- `final int constant = 10;`定义了一个常量,`constant`的值不能改变。
- `final void myMethod()`表示这个方法不能被子类重写。
`finalize()`方法是一个特殊方法,当对象即将被垃圾收集器回收时,会调用它,通常用于资源的清理。
继承是面向对象编程的核心特性之一,允许一个类(子类)继承另一个类(父类)的属性和方法。例如,`PhoneCard`类可以作为各种电话卡类(如200卡、IP卡等)的基类,这些子类可以添加特定的特性和功能。
最后,UML(统一建模语言)用于绘制类和对象的关系图,如`Employee`类可以展示其属性(id, name, deptId)和方法(getId(), setName(), getDeptId()等),帮助开发者直观理解类的结构和交互。
这些知识点都是J2SE高级编程中的重要内容,理解和掌握它们对于编写高质量的Java代码至关重要。
2019-07-22 上传
2020-02-05 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-12-31 上传
永不放弃yes
- 粉丝: 916
- 资源: 2万+
最新资源
- Mobile移动开发宝典_第01章 .NET Compact Framework移动平台
- 高质量C++编程指南
- 空间数据库备份恢复arcgisdb
- Linux下omnet++4.0 Tictoc
- 我自己寫的一些簡單代碼
- PC机与多MCS_51单片机间的串行通信设计
- cairngorm 经典的一个例子
- BB典、实用、趣味程序设计编程百例精解BB典、实用、趣味程序设计编程百例精解
- MapServer.Open.Source.GIS.Development.Aug.2005
- matlab simulink资料,特适合初学者
- JavaScript 高级程序设计[精华].pdf
- 单片机毕业设计——可编程微波炉控制器系统设计
- 留言板的jsp代码+数据库设计+页面结构
- GNU-Make中文说明
- Ajax技术地图,是了解ajax的好工具。适合ajax的初学者了解整体脉络哦!
- linux_mig_release_G4oyxcsIVyIZ