JAVA类加载与面向对象基础:类属性、方法、包与接口

需积分: 10 1 下载量 2 浏览量 更新于2024-07-13 收藏 119KB PPT 举报
本文主要介绍了面向对象程序设计的基础知识,特别是关于Java中的类加载、类属性、类方法、包、限定符、接口以及内部类的概念。 在Java编程中,类的加载是由JAVA解释器自动进行的,通常在创建类的实例或者首次访问类的静态成员时触发。加载过程遵循以下步骤: 1. 使用环境变量CLASSPATH定义的目录作为搜索起点。 2. 将包名中的小数点替换为斜杠,形成查找路径。 3. 在指定路径下查找对应的.class文件。 类属性分为两种:类变量(静态变量)和实例变量。类变量用`static`关键字标识,存储在类的内存区域,可供所有实例共享。例如: ```java class ex { int i; // 实例变量 static int j; // 类变量 static final int k = 10; // 静态常量 } ``` 类变量可以用于实现不同实例间的通信,例如记录创建的实例数量: ```java public class Count { private int serial; private static int counter = 0; public Count() { counter++; serial = counter; } } ``` 类变量可以直接通过类名访问,即使它们是非`private`的。如: ```java public class StaticVar { public static int x; } public class Test { public void m() { int m = StaticVar.x; } } ``` 类方法(静态方法)也是与类关联而不是特定实例的方法,它们可以通过类名直接调用,无需创建实例。 此外,包(package)是组织Java类的一种方式,它提供了一种命名空间,防止类名冲突。例如,`import p1.p2.*;`导入了名为`p1.p2`的包下的所有类。在文件系统中,包名会映射到目录结构,例如`p1.p2`对应`p1/p2`或`p1\p2`(根据操作系统)。 限定符(access modifiers)包括`public`、`private`、`protected`和默认(包访问),它们控制类、方法和变量的可见性。 接口(interface)是定义行为的抽象类型,它只包含常量和抽象方法。接口可以被类实现(implements),以强制执行多继承的契约。 内部类(inner classes)是在其他类内部定义的类,它可以访问外部类的私有成员,提供更复杂的封装和抽象。 这些概念构成了Java面向对象编程的基础,它们是构建复杂、可维护的软件系统的关键元素。理解并熟练运用这些知识点对于任何Java开发者来说都是至关重要的。