`
小篮子java的家
  • 浏览: 31068 次
  • 性别: 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多态.pptx.pptx

    多态是面向对象编程中的一个重要特性,它允许一个类的引用变量指向多种实际类型。这意味着在运行时,可以调用不同的方法实现不同的功能 多态的实现方式 多态可以通过继承、接口和重写实现。子类继承父类后,可以使用...

    Java面向对象多态.pdf

    它是基于继承、重写和向上转型等特性实现的,多态是面向对象编程的三大特征之一,其他两个分别是封装和继承。 Java 多态包括以下三种方式 方法重写(Override) 子类可以对从父类继承的方法进行重写,以便根据子类的...

    Java 面向对象三大特性之多态

    Java 面向对象三大特性之封装性的学习

    Java_ploymorphism.rar_ploymorphi_多态

    java的多态例子,适合初学者学习java的多态特性

    Java多态中的动态绑定与静态绑定

    大家可能都知道Java面向对象的三大特性,封装,继承,多态,其中动态绑定就与多态有关,那什么是动态绑定呢? 1.动态绑定(auto binding):也叫后期绑定,在运行时,虚拟机根据具体对象的类型进行绑定,或者说是...

    Java——多态

    Java——多态 多态的特性 1.可替换性(substitutability)。多态对已存在代码具有可替换性。 例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环, 也同样工作。 2.可扩充性(extensibility)。多态对代码...

    Java零基础-多态.md

    内容概要: 本文介绍了Java中多态(Polymorphism)的概念和用法。读者将学习什么是多态,为什么需要多态,以及如何在程序中实现多态。此外,还会讨论多态时的一些注意事项和规则。 能学到什么: 理解多态的定义、...

    封装、继承、多态.docx

    JAVA 封装、继承、多态 三大特性以及实操

    java继承封装多态

    java 继承、多态、向上向下数据转换。

    Java的多态(深入版)

    面向对象的三大特性:封装、继承、多态。在这三个特性中,如果没有封装和继承,也不会有多态。 那么多态实现的途径和必要条件是什么呢?以及多态中的重写和重载在JVM中的表现是怎么样? (若文章有不正之处,或难以...

    深入理解Java三大特性中的多态

    多态性是对象多种表现形式的体现。在面向对象中,最常见的多态发生在使用父类的引用来引用子类的...下面这篇文章主要给大家深入的介绍了Java三大特性中多态的相关资料,有需要的朋友可以参考借鉴,下面来一起看看吧。

    Java虚拟机栈--栈帧.docx

    栈帧的内部结构 ...3.动态链接 (Dynamic Linking)(或执行"运行时常量池"的方法引用)----深入理解Java多态特性必读!! 4.方法返回地址(Return Adress)(或方法正常退出或者异常退出的定义) 5.一些附加信息

    Java中的多态.pptx.pptx

    多态是面向对象编程的重要特性,它允许一个接口被多种不同的数据类型实现,增强了代码的灵活性和可扩展性。 多态的实现方式 Java中的多态主要通过继承、接口和重写实现,子类可以覆盖父类的方法,使得在运行时能够...

    java三大特性之多态与接口

    面向对象三大特征之多态 input可以根据不同的"type"(条件)产生不同形态 生活中的多态 一件事物根据不同的环境条件,产生不同的结果/形态 例如: H2O根据不同的温度条件,产生不同形态 -在标准大气压...

    java中的三大特性之多态.md

    ##### 多态概述: ​ 一个事务有多种形态(身份). ​ 在Java中是指一个对象具有多个数据类型.

    Java基础入门教程 第9章 Java的高级特性(共32页).ppt

    【完整课程列表】 ... Java基础入门教程 第1章 Java 简介(共31页).ppt Java基础入门教程 第2章 java语言基础(共52页)....Java基础入门教程 第9章 Java的高级特性(共32页).ppt jdk api 1.7.chm JDK_API_1_6_zh_CN.CHM

    D11接口,多态.zip_d11接口_java接口_mannerglc_多态

    多态是继封装、继承之后,面向对象的第三大特性。 Java作为面向对象的语言,同样可以描述一个事物的多种形态。如Student类继承了Person类,一个Student的对象便既是Student,又是Person。 Java中多态的代码体现在一...

    关于Java三大特性之多态的总结

    主要介绍了关于Java三大特性之多态的总结,内容详细,涉及多态的定义,存在条件,好处,分类及实现方式等相关内容,具有一定参考价值,需要的朋友可以了解下。

Global site tag (gtag.js) - Google Analytics