`
小篮子java的家
  • 浏览: 32440 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

java的多态特性

阅读更多
1
继承的语法格式
public class 子类名 extends 父类名{
}
2 继承的规则
A 实现继承的时候 一次只能继承一个类 可以多层继承
B 能继承所有的东西
C 但能调用的东西是
在同一个包的中  访问修饰符为public和protected的属性和方法都能被调用
不同的包中  仅能调用用public修饰的属性和方法。
3 方法的重写的规则

A 在子类中重写父类中的方法 需要访问修饰符大于或等于父类 返回值 名称 参数列表与父类相同。
B 又由于继承调用的局限性 所以还要考虑在重写的时候若是一个包的 那就可以重写受保护的公开的 不是同一个包的 只能重写公开的
C 重写后在调用的话就是子类中重写的方法了

4自动转型
A 必须存在一个继承关系 才能自动转型

B 格式 
  父类名 父类对象 = new 子类构造方法(参数列表);

C 优缺点
     缺点
不能使用子类自定义的方法 只能调用父类中定义的方法(无法判断到底是由哪个子类转型而来)
     优点
可以用一个父类接收多个子类 从而只要在方法中以父类对象为形参 可以子类对象而且调用子类中重写的方法

5 多态
多态是由方法重载,方法重写,继承,自动转型等引起的一系列特性。
---------------------任务--------------
--定义一个People类,定义一个Book类,Book类有子类。实现People看不同类型的书籍。
编程思路分析:
定义4个类 people类 book类 book1类 继承book类 main类
people类要写有people的属性 构造方法 还要有一个read方法形参为book类 同时明确它是可以接收它的子类
book类 要写有book的属性 构造方法 还要有一个get函数返回 私有属性
book1类与book相似 注意其get方法是重写的book1中的方法
main类  实例化3个对象 然后people类对象调用read方法传递不同的对象
首先是父类的对象 再是子类对象 完成目的

/** 
* 定义一个people类 
* 
* @author 汤剑男 
* 
*/ 
public class People { 
// 设置属性 
private String name; 

// 构造方法 
public People(String name) { 
this.name = name; 
} 

// 定义一个read的方法注意形参设置成book父类 以可以用来接收任何子类 
public void read(Book b) { 
System.out.println(this.name + "正在看" + b.getName()); 
} 
} 

/** 
* 定义一个Book的父类 
* 
* @author 汤剑男 
* 
*/ 
public class Book { 
// 设置属性 
private String name; 

// 构造方法 
public Book(String name) { 
this.name = name; 
// 定义一个getName的方法放回私有属性name 
} 

public String getName() { 
return this.name; 
} 
} 

/** 
* 定义一个JavaBook类继承Book类 
* 
* @author 汤剑男 
* 
*/ 
public class Book1 extends Book { 
            //定义子类的属性 
private String author ; 
      //定义子类的构造方法 
public Book1(String name,String author) { 
super(name); 
this.author = author; 
} 
         //重写Book父类中的get函数 
public String getName() { 
return super.getName(); 
} 
} 

/** 
* 定义一个main类测试向上转型 
* @author 汤剑男 
* 
*/ 
public class Main1 { 
     //定义一个主函数 
public static void main (String [] args){ 
//实例化三个对象 
People pe = new People("张三"); 
Book1  b1 = new Book1("语文书","王五"); 
Book bo = new Book("英语书"); 
//依次传递父类对象和子类 
pe.read(bo); 
pe.read(b1); 
} 
} 

分享到:
评论

相关推荐

    java多态的总结

    Java的多态性是面向对象编程的一个核心特性,它允许我们使用一个接口来表示不同的类,使得代码更加灵活,易于维护。多态性是通过继承、接口和方法重写来实现的,它让程序在运行时能够根据对象的实际类型执行相应的...

    java 多态 经典讲解

    ### Java多态经典讲解 #### 一、理解Java多态 多态,作为面向对象编程的三大特性之一,是继抽象和继承之后的关键概念。它允许我们以统一的接口处理不同类型的对象,增强了代码的灵活性和可扩展性。在Java中,多态...

    C++和Java多态的区别

    本文将对比分析C++和Java中多态特性的实现机制及其差异。 #### 二、C++中的多态实现 在C++中,多态主要通过虚函数来实现。当一个类声明了一个虚函数后,它的派生类可以重写该虚函数。通过基类指针调用派生类对象的...

    Java 多态中的类型转换

    本篇将深入探讨Java多态中的类型转换,包括向上转型(Upcasting)和向下转型(Downcasting),以及相关的注意事项。 1. **向上转型(Upcasting)** 向上转型是指将子类的对象引用赋值给父类的引用。在Java中,这是...

    java多态实验

    在这个“java多态实验”中,我们可以看到一系列小代码实例,这些实例旨在帮助理解和应用多态特性。下面我们将深入探讨多态的概念、实现方式以及它在实际开发中的应用。 1. 多态性定义: 多态(Polymorphism)源自...

    Java 多态应用,掌握多态

    通过学习和实践上述知识点,开发者可以更好地理解和运用Java中的多态特性,编写出更加高效、可维护的代码。对于给定的压缩包文件"com多态",可能包含了相关的示例代码或者练习,这些可以帮助你更直观地理解并掌握...

    从虚拟机角度看Java多态->(重写override)的实现原理

    Java多态是面向对象编程中的一个核心特性,它允许我们以一种统一的方式处理不同类型的对象。在Java中,多态性主要通过继承、接口和方法重写(Override)来实现。这里我们将深入探讨从虚拟机(JVM)的角度来看,Java...

    java 多态的泛型实现

    在Java编程语言中,多态性是面向对象设计的核心特性之一,它允许我们使用一个接口来引用不同的对象,使得代码更加灵活和可扩展。而泛型则是Java在JDK 5.0引入的一个强大特性,它允许我们在编译时检查类型安全,并且...

    java 多态的含义和例子经典讲解

    总结起来,Java的多态性是其面向对象特性的重要组成部分,它使得代码更加灵活,易于扩展。通过方法的重载和重写,我们可以编写出更加高效、可读性强的程序,同时也为程序的维护和升级提供了便利。理解和掌握多态性是...

    java多态作业

    在给定的“java多态作业”中,可以看到多态性的应用主要体现在实现多个接口(MouseMotionListener、MouseListener和ActionListener),这些接口代表了不同的事件监听器,每个接口都定义了一系列方法来处理特定类型的...

    Java多态,面向对象编程题demo.zip

    Java多态是面向对象编程中的一个核心概念,它允许我们以一种统一的方式处理不同类型的对象。在Java中,多态性主要体现在方法的重写(Override)和重载(Overload)。通过多态,我们可以编写出更加灵活、可扩展的代码...

    java多态小结

    ### Java多态详解 #### 什么是多态? 多态(Polymorphism)是面向对象编程的一个核心特性,指的是一个接口可以被多个类所实现或一个类可以被多个类所继承,进而表现出不同的行为。在Java中,多态主要体现在两个...

    java中多态的内存分析

    Java中的多态性是面向对象编程的一个核心特性,它允许我们使用父类引用指向子类对象,从而实现灵活的代码设计。多态性分为编译时多态和运行时多态,其中运行时多态是Java中最常见的形式,也称为动态绑定。在深入探讨...

    java 多态.docx

    在Java编程语言中,多态(Polymorphism)是一种核心特性,它允许我们设计更加灵活、可扩展的代码。多态使得一个接口可以有多种不同的实现或者表现形式,也就是说,同一段代码可以处理不同类型的数据。这主要通过继承...

    Java多态案例及源码.rar

    8. **源码解读**:每个源码文件都是一个生动的教程,你可以逐行阅读,理解其中的类定义、方法声明和调用,以及如何通过实例来体现多态特性。通过调试和修改源码,你将更深入地掌握多态的运用。 9. **实践应用**:在...

    java多态机制

    ### Java多态机制详解 #### 一、引言 多态是面向对象编程的重要特性之一,它使得程序设计更加灵活且易于扩展。Java作为一种广泛使用的面向对象编程语言,其多态机制是理解Java编程的关键所在。本文将详细介绍Java...

    Java多态实现

    Java多态实现是面向对象编程中的一个核心概念,它允许我们使用父类的引用变量来指向子类的对象,从而在运行时决定所调用的方法。这一特性极大地增强了代码的灵活性和扩展性,使得代码能够更好地应对未来的需求变化。...

    Java多态调用唯一性确定.pdf

    本文详细分析了Java程序中多态特性带来的函数调用路径不唯一的问题,提出了基于Soot开源工具和反射机制来静态分析函数调用路径的方法,基本解决了多态函数调用路径问题,为测试人员提供了准确有效的函数调用路径,极...

    java 多态实例

    在Java编程语言中,多态性(Polymorphism)是面向对象编程的三大特性之一,另外两个是封装和继承。多态性允许我们使用一个接口来代表多种不同的类,这使得代码更加灵活,易于扩展。在这个实例中,我们将探讨如何通过...

    Java多态的深度剖析

    ### Java多态的深度剖析 #### 什么是Java多态? 多态是面向对象编程的一个核心概念,它允许我们在程序设计中使用一个通用的接口来表示不同的类型或行为。具体而言,在Java中,多态指的是“父类型的引用可以指向子...

Global site tag (gtag.js) - Google Analytics