Java 面向对象的特性

Java 面向对象的特性

面向对象具有三种基本特性:封装、继承、多台。这三种特性不是 Java 中特有的,而是面向对象的语言所共有的。

1. 封装

封装就是将数据和方法包装进类中并把具体实现隐藏。隐藏实现(implement hiding)的意思是就是访问控制。访问控制将接口与实现分离。对客户端程序员来说,访问控制划分了其使用类库(library)的边界,即指定了哪些能使用哪些不能使用。对类库提供者来说,可以自由地修改内部实现而不用担心影响到客户端代码的可能。

Java 中的访问机制和 Java 的包组织机制紧密相关,所以这里先对包的相关概念作一些阐述。

包是一组类

简单来说,包就是处在同级目录下的一组类,包的集合称为类库。Java 通过目录结构,结合 package 与 import 关键字,形成了一种命名空间(namespace)的管理机制。使用 package 语句,同级目录下的类被组织到同一命名空间下。注意,package 语句必须处于文件中非注释代码的第一行。

// tool/ironware/Wrench.java
package tool.ironware;

public class Wrench {
    // ...
}

这种命名空间的管理方式可以很好的解决类名冲突的问题,在不同包中定义同名的类是不存在问题的。在需要用到类时,可以使用完整的名称,这种方式可以防止类名冲突,而更方便的做法是使用 import 语句事先导入该类。

// tool/Decoration.java
import tool.ironware.Wrench;

public class Decoration {
    public static void main(String[] args) {
        Wrench w = new Wrench();
        // ...
    }
}

为了创建唯一的包名,通常的做法是使用创建者的 Internet 域名的反序作为包结构。如com.cnblogs.home,实际得到的就是在根目录下的路径名 com/cnblogs/home 。

访问权限修饰符

Java 中的访问控制通过访问权限修饰符来实现。各修饰符及其对应的访问权限如表所示:

修饰符 访问权限 解释
public 接口访问权限 从任何位置都可随意访问
protected 继承访问权限 同包中以及子类可访问
空(default) 包访问权限 默认情况,同包中可访问
private 无访问权限 仅在本类中可访问

每个访问权限修饰符只对其所修饰的对象(数据/方法/类)起作用。

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Java 面向对象的特性