Java面向对象编程:类、接口与方法重写

需积分: 5 1 下载量 97 浏览量 更新于2024-11-05 收藏 61KB DOC 举报
"Java面向对象编程中的类、接口、对象引用、方法重写以及访问控制符的概念和应用" Java是一种面向对象的编程语言,它的核心在于类和对象。类是对象的蓝图,定义了对象的属性(数据成员)和行为(方法)。在Java中,我们可以通过创建类的实例(对象)来实现具体的功能。 1. **对象的引用** 在提供的代码段中,`test` 类有两个对象 `a1` 和 `a2`。通过 `newtest(5)` 和 `newtest(6)` 分别创建这两个对象,并通过 `a1.getI()` 和 `a2.getI()` 访问它们的方法。当执行 `a2=a1` 时,实际上是将 `a1` 对象的引用赋给了 `a2`,这意味着 `a2` 现在指向的是 `a1` 指向的内存空间,因此 `a2.getI()` 将输出 `5`,而不是 `6`。 2. **方法的重写** 在继承关系中,子类可以重写父类的方法。`classB` 继承自 `classA`,并重写了 `getName()` 方法。`Bb` 对象调用 `getName()` 会执行子类的方法,而 `Aa`(实际上是子类 `B` 的实例)调用 `getName()` 也会执行子类的方法,这就是多态性的一种体现。`getN()` 方法使用 `super.name` 关键字调用了父类的 `name` 变量,显示了如何在子类中访问父类的成员。 3. **访问控制符** 访问控制符用于控制类、方法和变量的可见性和访问权限。`public` 是最宽松的,任何地方都可以访问;`private` 是最严格的,只能在本类内部访问;`protected` 允许在本类、同一包内的其他类以及不同包的子类中访问;默认(无修饰符)则允许在本类和同一包内访问。例如,`classA` 中的 `inta` 是私有的,只能在 `classA` 内部访问,而 `protectedintb` 可以被不同包的子类访问。 4. **接口(Interface)** 接口在Java中用于定义行为规范,它包含一组抽象方法(没有方法体的方法)。类可以实现一个或多个接口,实现接口的类必须提供接口中所有方法的具体实现。接口提供了多继承的特性,使得类可以继承一个类的同时实现多个接口。 Java的面向对象特性包括类的定义、对象的创建、继承、多态以及访问控制等概念,这些都是编写可维护、可扩展的Java代码的基础。在实际编程中,理解和掌握这些概念有助于我们设计出更加符合面向对象原则的软件架构。