`

继承,重写,多态的理解

阅读更多

继承:将父类的方法复制给子类,减少重复代码.

 

父类是许多子类的共同点,比如 大学生,中学生,小学生都是学生.学生类是其余三个类的共同特点.( 类:具有相同的属性,即有共同特点.属性就是他们的共同点,这是主观上面的共同点)

 

声明格式

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

齐川要考试

 

  • 大小: 38.6 KB
  • 大小: 8.4 KB
2
0
分享到:
评论

相关推荐

    java 三大特性--封装、继承和多态理解

    Java编程语言以其强大的功能和广泛的应用而闻名,其中三大特性——封装、继承和多态是其核心概念,对于理解和编写高效、可维护的代码至关重要。 **封装**是面向对象编程的基础,它涉及到将数据(属性)和操作这些...

    继承与多态程序演示

    理解并熟练运用继承和多态是提升软件开发效率的关键。它们使得代码结构更加清晰,模块化程度更高,同时降低了维护成本。通过学习这个“继承与多态程序演示”,你可以深入理解这两种机制,并能够在实际项目中有效地...

    C++经典实例——体现继承和多态

    这个名为“C++经典实例——体现继承和多态”的资源显然是为了帮助开发者深入理解和应用这两个关键特性。下面我们将详细探讨这两个主题以及它们在实际编程中的应用。 首先,我们来看“继承”。继承是面向对象设计的...

    继承和多态笔记.docx

    ### 继承与多态知识点总结 #### 接口概念及作用 - **定义**:接口是一种特殊的数据类型,主要用于定义一组未实现的方法签名。它强制要求任何实现该接口的类必须提供这些方法的具体实现,这有助于提升软件设计的...

    浅谈c++的精髓之继承和多态

    通过在基类中声明`makeSound`为虚函数,并在派生类中重写该函数,当我们使用基类指针调用`makeSound`时,将自动调用派生类的实现,实现了运行时多态。 #### 5. 总结 面向对象编程通过继承和多态等机制,提高了代码...

    java继承与多态

    本文将详细介绍Java中的继承和多态概念,并通过具体的示例帮助初学者更好地理解这些概念。 #### 二、继承的基础知识 **2.1 继承的定义** 继承是一种创建新类(子类)的方法,这种新类继承了已有类(父类)的特性...

    C#实验 事件、继承和多态

    多态(Polymorphism)是面向对象编程的另一大特性,它允许使用父类型的引用处理子类型对象,实现方法的重写或重载。这意味着同一方法在不同的子类中可以有不同的实现,增强了代码的灵活性和扩展性。在学生管理应用中...

    CPP.rar_多态 .cpp_继承与多态_继承与多态C++

    标题中的"CPP.rar_多态 .cpp_继承与多态_继承与多态C++"表明这个压缩包文件包含了关于C++编程语言中多态性(Polymorphism)和继承(Inheritance)的概念示例。多态性和继承是面向对象编程(Object-Oriented ...

    JAVA封装继承与多态PPT教案学习.pptx

    JAVA 封装继承与多态是面向对象程序设计语言中三个非常重要的概念,正确理解和应用这些概念是编写高质量软件的前提。 在实际应用中,封装、继承和多态三个概念都是相互关联、相互影响的。正确地使用这些概念可以...

    Lesson_面向对象继承,多态,接口_实训

    在这个"Lesson_面向对象继承,多态,接口_实训"中,我们将深入探讨这三个关键概念:继承、多态和接口,并通过实践来加深理解。 首先,让我们来看看**继承**。继承是面向对象编程的一个重要特性,它允许一个类(子类...

    Java 学习课件,继承和多态

    ### Java 学习课件:继承和多态 #### 继承的概念与应用 继承是面向对象编程的一个核心概念,它允许我们定义一类对象获取另一类对象的特性。这种机制可以减少代码冗余,增强代码复用性,并使得类之间的关系更加清晰...

    详解java接口、继承和多态

    ### 详解Java接口、继承和多态 #### 一、Java接口 在Java中,接口是一种定义行为的方式,它提供了一种实现抽象方法的手段。通过接口,开发人员可以为类定义一组方法签名,但不提供这些方法的具体实现。这有助于...

    第十一章继承与多态

    ### 第十一章 继承与多态 #### 1. 概述 在面向对象编程中,继承和多态是两个非常重要的概念。本章节主要介绍C++中的这两个概念及其应用。 #### 2. 基础概念 ##### 2.1 类与对象 面向对象编程的核心是类和对象的...

    python全套课程继承与多态

    "python继承与多态"这个课程应该提供了实践案例和练习,帮助你更好地理解和应用这些知识。在实践中,你会遇到如何设计类层次结构、何时使用继承、如何利用多态优化代码等问题,这些都是提升编程技能的关键步骤。通过...

    C#关于继承与多态的简单练习源码

    在C#编程语言中,继承和多态是面向对象编程的两大核心概念,它们极大地增强了代码的可重用性和灵活性。下面将详细解释这两个概念及其在实际编程中的应用。 **继承(Inheritance)** 继承是一种机制,允许一个类...

    java继承、多态的简单程序.zip

    这个压缩包"java继承、多态的简单程序.zip"显然包含了一些示例代码,旨在帮助初学者理解这两个概念。接下来,我们将深入探讨Java中的继承和多态性。 ### 继承(Inheritance) 在Java中,继承允许一个类(子类)...

    《java面向对象程序设计-继承和多态》教案.doc

    面向对象编程是Java的核心特性,本教程主要涵盖了三个关键概念:封装、继承和多态,以及相关的访问修饰符和方法修饰符。 封装是面向对象编程的基础,它涉及到将数据(属性)和操作这些数据的方法(行为)组合在一个...

    易语言的继承多态演示

    在易语言中,继承和多态是面向对象编程的重要概念,它们在软件设计中起到关键作用,允许代码重用并提高灵活性。下面将详细解释这两个概念以及如何在易语言中实现它们。 **继承**: 在面向对象编程中,继承是子类...

    Java语言程序设计:第四章 继承与多态.ppt

    在Java编程语言中,继承和多态是面向对象编程的核心概念,它们极大地提高了代码的复用性和灵活性。在第四章“继承与多态”中,我们深入探讨了这两个主题。 首先,继承允许一个类(子类)从另一个类(父类)继承特性...

Global site tag (gtag.js) - Google Analytics