当前位置:实例文章 » JAVA Web实例» [文章]【Java SE】继承与多态

【Java SE】继承与多态

发布人:shili8 发布时间:2025-03-05 21:20 阅读次数:0

**继承与多态**

在 Java 中,继承是面向对象编程的一个基本概念。它允许一个类(子类)继承另一个类(父类)的属性和方法,并可以扩展或重写这些属性和方法。

### 继承的定义和目的继承是一种特殊的关系,它使得一个类(子类)能够访问另一个类(父类)的成员变量和成员方法。继承的目的是为了实现代码复用,减少代码冗余,并且提高代码的可维护性。

### 继承的类型Java 支持两种继承关系:单继承和多继承。

#### 单继承在单继承中,一个子类只能有一个父类。例如:

javapublic class Animal {
 public void eat() {
 System.out.println("动物吃东西");
 }
}

public class Dog extends Animal {
 @Override public void eat() {
 System.out.println("狗吃东西");
 }
}


在上面的例子中,Dog 类继承了 Animal 类的 eat 方法,并且重写了该方法。

#### 多继承Java 不支持多继承。也就是说一个类不能有多个父类。

### 继承的优点和缺点继承的优点:

* **代码复用**:继承可以使得子类复用父类的属性和方法,从而减少代码冗余。
* **提高可维护性**:继承可以使得子类更容易维护,因为子类只需要关注自己的行为,而不需要关注父类的实现细节。

继承的缺点:

* **紧密耦合**:继承会导致子类和父类之间紧密耦合,这意味着子类的变化可能会影响到父类。
* **多态性问题**:继承可能会导致多态性问题,因为子类可能会重写父类的方法,从而导致程序行为不一致。

### 多态多态是面向对象编程的一个基本概念。它允许一个类(子类)表现出多种形态,具体取决于上下文。

#### 多态的定义和目的多态是一种特殊的关系,它使得一个类(子类)能够表现出多种形态,具体取决于上下文。多态的目的是为了实现更灵活和更高效的程序设计。

#### 多态的类型Java 支持两种多态性:方法多态性和运算符多态性。

#### 方法多态性方法多态性是指一个类(子类)能够表现出多种形态,具体取决于上下文。例如:

javapublic class Animal {
 public void sound() {
 System.out.println("动物叫声");
 }
}

public class Dog extends Animal {
 @Override public void sound() {
 System.out.println("狗叫声");
 }
}

public class Cat extends Animal {
 @Override public void sound() {
 System.out.println("猫叫声");
 }
}


在上面的例子中,Dog 和 Cat 类都继承了 Animal 类的 sound 方法,并且重写了该方法。

#### 运算符多态性运算符多态性是指一个类(子类)能够表现出多种形态,具体取决于上下文。例如:

javapublic class Number {
 public int add(int num) {
 return this + num;
 }
}

public class Integer extends Number {
 @Override public int add(int num) {
 return (int)(this + num);
 }
}


在上面的例子中,Integer 类继承了 Number 类的 add 方法,并且重写了该方法。

### 总结继承和多态是面向对象编程中的两个基本概念。继承允许一个类(子类)继承另一个类(父类)的属性和方法,并可以扩展或重写这些属性和方法。多态性允许一个类(子类)表现出多种形态,具体取决于上下文。

###例题1. 给定以下代码:

javapublic class Animal {
 public void sound() {
 System.out.println("动物叫声");
 }
}

public class Dog extends Animal {
 @Override public void sound() {
 System.out.println("狗叫声");
 }
}


请写出一个测试类,测试 Dog 类的 sound 方法。

2. 给定以下代码:

javapublic class Number {
 public int add(int num) {
 return this + num;
 }
}

public class Integer extends Number {
 @Override public int add(int num) {
 return (int)(this + num);
 }
}


请写出一个测试类,测试 Integer 类的 add 方法。

### 测试类
javapublic class TestAnimal {
 public static void main(String[] args) {
 Dog dog = new Dog();
 dog.sound(); // 输出 "狗叫声"
 }
}

public class TestNumber {
 public static void main(String[] args) {
 Integer num =10;
 System.out.println(num.add(5)); // 输出15 }
}


### 最后继承和多态是面向对象编程中的两个基本概念。它们允许一个类(子类)继承另一个类(父类)的属性和方法,并可以扩展或重写这些属性和方法。它们还允许一个类(子类)表现出多种形态,具体取决于上下文。

###例题答案1. 测试 Dog 类的 sound 方法:

javapublic class TestDog {
 public static void main(String[] args) {
 Dog dog = new Dog();
 dog.sound(); // 输出 "狗叫声"
 }
}


2. 测试 Integer 类的 add 方法:

javapublic class TestInteger {
 public static void main(String[] args) {
 Integer num =10;
 System.out.println(num.add(5)); // 输出15 }
}

相关标签:pythonjava开发语言
其他信息

其他资源

Top