Java高级编程:Runable接口与面向对象特性

需积分: 18 1 下载量 134 浏览量 更新于2024-08-18 收藏 666KB PPT 举报
在Java2 SE的高级编程中,Runnable接口是一个核心概念,它允许开发者创建可执行的任务或线程。Runnable接口只有一个抽象方法`run()`,任何想要作为独立线程运行的类都必须实现这个方法。这种方式相较于继承Thread类更为灵活,因为Java支持单继承,而通过接口可以实现多重继承的功能。 Java的访问控制符是面向对象编程中用于控制类成员(属性和方法)可见性的关键字。主要有四种访问级别: 1. `public`:可以被任何类访问。 2. 默认(没有明确声明的):在同一包内的类可以访问。 3. `private`:仅限于本类内部访问。 4. `protected`:本包内及子类可以访问。 5. `privateprotected`:仅对当前包及其子类开放。 静态成员,包括属性、方法和静态初始化器,与类的生命周期关联,而非对象。静态属性属于类,不是对象的实例属性;静态方法也是类级别的,不能直接操作对象实例,但可以访问其他类的静态变量。例如,`static`块可用于初始化静态属性。 Java中的抽象类和抽象方法用于定义类的公共行为但不提供具体实现。抽象类不能实例化,它的主要作用是为共享属性和行为提供一个模板,子类则负责实现这些抽象方法。例如,`PhoneCard`抽象类定义了一个基础的电话卡接口,子类如`200卡`、`IP卡`等实现具体的业务逻辑。 `final`关键字用于创建不可变的类、属性和方法。final类不能被继承,final属性和方法分别表示常量和不可覆盖的行为。`finalize()`方法在对象被垃圾回收前被调用,通常用于清理资源。同时,Java不允许`abstract`和`final`一起使用,因为抽象方法暗示可能的扩展,而`final`禁止扩展。 继承在Java中是实现代码复用的关键机制。例如,图形类`Shape`是一个抽象基类,它的子类如`多边形`、`三角形`等继承其基本结构,同时实现`draw()`和`area()`等方法。UML图示是设计和理解类层次结构的有效工具,它展示了类与类之间的关系以及它们包含的属性和方法。 在面向对象编程中,`Employee`类和`CommonEmployee`类可能代表员工的不同层次,如`Employee`类为基础员工,而`CommonEmployee`类可能添加了经理相关的管理属性和方法,如`setManagerName()`和`getManagerName()`,展示了继承和扩展的功能。类和对象的图形表示通过UML可以帮助开发者更好地理解和设计复杂的类结构。