"这篇文档主要介绍了面向对象程序设计的基础,特别是关于Java编程中的包、类、类属性、类方法、限定符、接口以及内部类的概念和用法。它还提供了创建包、编译和运行Java程序的步骤,以及类变量(静态变量)的详细解释和示例。"
在面向对象程序设计中,包(Package)是一种组织和管理类的方式,它允许我们对类进行分类和命名空间管理,防止命名冲突。例如,在标题中提到的`mypk`就是一个自定义的包名,通过`package mypk;`语句声明。当我们编写类`myc`时,这个类就属于`mypk`包。在编译`myc.java`文件时,使用`javac -d d:\ myc.java`命令,可以指定在`d:\`目录下创建包含`mypk`包的结构。运行包含包内类的程序时,需要设置`CLASSPATH`环境变量,如`set CLASSPATH=.;d:\;%CLASSPATH%`。
类属性(Class Attributes)和类方法(Class Methods)是类的核心组成部分。类变量,也称为静态变量,使用`static`关键字标识。这些变量在类的内存区域中存储,由所有类的实例共享,如`classex`中的`j`和`k`。类变量可以在类的任何实例之间传递信息,如`Count`类用于追踪创建的实例数量。`final`关键字与`static`结合可以定义常量,如`connectNumber`,确保其值不可更改。
类方法通常是静态的,可以直接通过类名调用,而无需创建对象。例如,`StaticVar`类中的`x`可以被`test`类的`m`方法直接访问。静态变量如果非私有(`private`),则可以从类的外部直接访问,如`StaticVar.x`。
接口(Interface)在Java中是完全抽象的,定义了一组方法的签名,但不提供实现。它用于规定实现接口的类必须提供哪些方法。接口通过`interface`关键字声明,如`MyInterface`,并使用`implements`关键字实现,如`class MyClass implements MyInterface`。
内部类(Inner Class)是在另一个类内部定义的类,它可以是静态或非静态的。非静态内部类可以访问外部类的所有成员,包括私有成员,而静态内部类则不能。
在示例中,`PhoneCard200`类展示了类变量的使用,如`connectNumber`和`additoryFee`,其中`connectNumber`是常量,不可修改。`PhoneCard200`的实例`my200_1`和`my200_2`共享相同的静态变量`additoryFee`,当`additoryFee`的值改变时,会影响到所有实例。
这个文档深入讲解了面向对象编程的基本概念,对于初学者理解Java类、包、属性和方法的组织和使用具有指导意义。