继承:将父类的方法复制给子类,减少重复代码.
父类是许多子类的共同点,比如 大学生,中学生,小学生都是学生.学生类是其余三个类的共同特点.( 类:具有相同的属性,即有共同特点.属性就是他们的共同点,这是主观上面的共同点)
声明格式
public class Student
public class CollegeStudent extends Student
方法的重写:
子类继承了父类的某一个方法,但是需要改进,可进行重写,其方法名,参数都相同
Student.java
public void read(){
System.out.println("姓名"+name+"\t性别:"+sex+"\t学号"+num);
}
CollegeStudent.java(继承了student.java)
public void read(){
System.out.println("姓名:"+name+"\t学号"+num);
}
此时,CollegeStudent类的对象调用read方法是调用的后面一个read();
多态:同一个对象调用统一方法可能出现不同的结果
Student stu2=new CollegeStudent(); //(自动转换)
stu2.exam(); //此时Student和CollegeStudent类都有exam方法,则会调用CollegeStudent类的exam(); 这种行为称为多态
CollegeStudent stu4=new CollegeStudent(); //(将stu2强制转换为CollegeStudent)
stu4= (CollegeStudent)stu2;
示例程序
Student.java
public class Student {
int num;
String name;
String sex;
public Student (){
//System.out.println("Student");
}
//构造方法重写:提供多种定义对象的方法,比如直接创建新的对象顺便给出名字学号.
public Student(String nam,int n){
name=nam;
num=n;
}
//定义属性:共同的特征
public void setSex(String se){
sex=se;
}
public void setName(String se){
name=se;
}
public void setNum(int se){
num=se;
}
//定义方法:对象要做的事情
public void read(){
System.out.println("姓名"+name+"\t性别:"+sex+"\t学号"+num);
}
public void exam(){
System.out.println(name+"要考试//Student");
}
}
CollegeStudent.java
public class CollegeStudent extends Student{
public CollegeStudent(){
//System.out.println("CollegeStudent");
}
//方法的重写,方法名,参数都相同
public void read(){
System.out.println("姓名:"+name+"\t性别:"+sex+"\t学号"+num);
}
public void exam(){
System.out.println(name+"要考试");
}
}
Manager.java
public class Manager {
public static void main(String[] args) {
Student stu1=new Student("黄斌",13);
stu1.setSex("男");
stu1.read();
stu1.exam();
CollegeStudent stu=new CollegeStudent();
stu.setSex("女");
stu.setName("齐川逸");
stu.setNum(11);
stu.read();
stu.exam();
Student stu2=new CollegeStudent();
stu2.setSex("女");
stu2.setName("齐川");
stu2.setNum(11);
stu2.read();
stu2.exam();//调用的是CollegeStudent类的exam方法(多态),
CollegeStudent stu4=new CollegeStudent();
stu4=(CollegeStudent)stu2;
stu4.read();
stu4.exam();
}
}
运行结果
姓名黄斌 性别:男 学号13
黄斌要考试//Student
姓名:齐川逸 性别:女 学号11
齐川逸要考试
姓名:齐川 性别:女 学号11
齐川要考试
姓名:齐川 性别:女 学号11
齐川要考试
相关推荐
Java编程语言以其强大的功能和广泛的应用而闻名,其中三大特性——封装、继承和多态是其核心概念,对于理解和编写高效、可维护的代码至关重要。 **封装**是面向对象编程的基础,它涉及到将数据(属性)和操作这些...
理解并熟练运用继承和多态是提升软件开发效率的关键。它们使得代码结构更加清晰,模块化程度更高,同时降低了维护成本。通过学习这个“继承与多态程序演示”,你可以深入理解这两种机制,并能够在实际项目中有效地...
这个名为“C++经典实例——体现继承和多态”的资源显然是为了帮助开发者深入理解和应用这两个关键特性。下面我们将详细探讨这两个主题以及它们在实际编程中的应用。 首先,我们来看“继承”。继承是面向对象设计的...
### 继承与多态知识点总结 #### 接口概念及作用 - **定义**:接口是一种特殊的数据类型,主要用于定义一组未实现的方法签名。它强制要求任何实现该接口的类必须提供这些方法的具体实现,这有助于提升软件设计的...
通过在基类中声明`makeSound`为虚函数,并在派生类中重写该函数,当我们使用基类指针调用`makeSound`时,将自动调用派生类的实现,实现了运行时多态。 #### 5. 总结 面向对象编程通过继承和多态等机制,提高了代码...
本文将详细介绍Java中的继承和多态概念,并通过具体的示例帮助初学者更好地理解这些概念。 #### 二、继承的基础知识 **2.1 继承的定义** 继承是一种创建新类(子类)的方法,这种新类继承了已有类(父类)的特性...
多态(Polymorphism)是面向对象编程的另一大特性,它允许使用父类型的引用处理子类型对象,实现方法的重写或重载。这意味着同一方法在不同的子类中可以有不同的实现,增强了代码的灵活性和扩展性。在学生管理应用中...
标题中的"CPP.rar_多态 .cpp_继承与多态_继承与多态C++"表明这个压缩包文件包含了关于C++编程语言中多态性(Polymorphism)和继承(Inheritance)的概念示例。多态性和继承是面向对象编程(Object-Oriented ...
JAVA 封装继承与多态是面向对象程序设计语言中三个非常重要的概念,正确理解和应用这些概念是编写高质量软件的前提。 在实际应用中,封装、继承和多态三个概念都是相互关联、相互影响的。正确地使用这些概念可以...
在这个"Lesson_面向对象继承,多态,接口_实训"中,我们将深入探讨这三个关键概念:继承、多态和接口,并通过实践来加深理解。 首先,让我们来看看**继承**。继承是面向对象编程的一个重要特性,它允许一个类(子类...
### Java 学习课件:继承和多态 #### 继承的概念与应用 继承是面向对象编程的一个核心概念,它允许我们定义一类对象获取另一类对象的特性。这种机制可以减少代码冗余,增强代码复用性,并使得类之间的关系更加清晰...
### 详解Java接口、继承和多态 #### 一、Java接口 在Java中,接口是一种定义行为的方式,它提供了一种实现抽象方法的手段。通过接口,开发人员可以为类定义一组方法签名,但不提供这些方法的具体实现。这有助于...
### 第十一章 继承与多态 #### 1. 概述 在面向对象编程中,继承和多态是两个非常重要的概念。本章节主要介绍C++中的这两个概念及其应用。 #### 2. 基础概念 ##### 2.1 类与对象 面向对象编程的核心是类和对象的...
内容概要:本文详细介绍了Java编程中继承和多态的概念及其应用,涵盖从基础到进阶的内容,包括继承的基本概念、super关键字的应用、方法重载与重写、instanceof关键字的作用以及继承与多态的具体示例。 适合人群:...
内容概要:本文详细介绍了Java中...阅读建议:读者可以在理解基本概念的基础上,通过示例代码动手实践,加深对继承和多态的理解。此外,对于进阶技巧部分内容,可以通过查阅相关资料和实际应用案例来进一步巩固知识点。
"python继承与多态"这个课程应该提供了实践案例和练习,帮助你更好地理解和应用这些知识。在实践中,你会遇到如何设计类层次结构、何时使用继承、如何利用多态优化代码等问题,这些都是提升编程技能的关键步骤。通过...
在C#编程语言中,继承和多态是面向对象编程的两大核心概念,它们极大地增强了代码的可重用性和灵活性。下面将详细解释这两个概念及其在实际编程中的应用。 **继承(Inheritance)** 继承是一种机制,允许一个类...
这个压缩包"java继承、多态的简单程序.zip"显然包含了一些示例代码,旨在帮助初学者理解这两个概念。接下来,我们将深入探讨Java中的继承和多态性。 ### 继承(Inheritance) 在Java中,继承允许一个类(子类)...
面向对象编程是Java的核心特性,本教程主要涵盖了三个关键概念:封装、继承和多态,以及相关的访问修饰符和方法修饰符。 封装是面向对象编程的基础,它涉及到将数据(属性)和操作这些数据的方法(行为)组合在一个...