Java编程设计---继承

继承的定义

根据已有的类的属性行为衍生出一个新的类,新类拥有本类的所有属性和行为,新类称是继承了本类

新建的类为子类或衍生类,原来的类为父类或是基类

意义:Java的继承是为了避免了编码的重复编写而可以直接使用

使用继承的优点:

  • 代码更简单
  • 重复使用率更高
  • 不需要修改源代码
  • 便于维护

类和类之间的关系有继承、拥有和依赖三种关系,理解分别是is ,has,use

根据多个类所有的属性和行为,将相同属性或行为写在一个类(父类)中,互相不同的属性方法写在子类中,最后用extends完成继承关系

注意:Java是单继承,所以一个类只有一个父类,可以有祖先类(即父类也可以拥有父类),但是一个父类可以有多个子类

子类可以调用父类的方法和属性,但是父类不能调用子类中独有的属性和行为

object类

在Java里面所有的类都具有一个根类的父类,即object类

  object可以是一个类的直接父类,或者是一个类的祖先类

  如果一个类没有继承其他的类,则object是该类的直接父类

object类的方法调用有:

  public final Class getClass();  得到类的信息

  public int hashCode();  得到hash值

  public boolean equals(Object x);  

  protected Object clone(0 throws CloneNotSupportedException;

  public String tostring();

  protected void finaolize() throws Throwable;

  public final void wait() throws InterruptedException;

  public final void notify();

方法重写

在子类中改变父类方法行为的操作,将父类中原有的行为在子类中重新定义并赋予新的执行方式,即为方法重写

继承可以使一个类中的代码得到重用,而重写在继承的基础上又可以使子类对父类已有的方法进行重新实现

注意事项:

  1. 在重写父类的行为时,需要使子类的返回类型、方法名、形参列表与父类一致
  2. 重载和重写,重载发生在本类中,是对其中一个方法进行不同的定义,而重写是发生在继承关系中的子类中,是对父类中已有方法进行修改
  3. 访问修饰符的访问等级不能低于父类
  4. 子类抛出的异常不能多于父类

原文地址:https://www.cnblogs.com/lloney0/p/10999139.html

时间: 2024-08-13 01:39:42

Java编程设计---继承的相关文章

Java编程设计

方法调用栈 JVM内存模型有五大块:栈.堆.方法区.本地方法栈.程序计数器(PC寄存器) 我们执行的方法都是存放在栈里面的,栈是先进后出的队列结构,所以当前执行的方法永远存在于栈的顶部,main方法肯定在最底部 每一个方法被执行完后都会被移除,然后返回上一个执行方法,当一个方法执行时会有三种情况: 方法返回一个值,基本数据类型或引用类型会被传回给方法调用者 方法不返回一个值,声明为void 抛出异常给方法调用者 方法签名 public static void main(String[] args

Java编程设计---数组Arrays

数组的的定义 数组是存放在连续存储空间的元素集合 数组定义的格式: int[] arr=new int[5]; int:数组元素的数据类型,可以是基本数据类型,也可以是引用 arr:数组名称 5:数组中元素个数 第一步:定义数组类型和数组名称   int [ ]  arr; 第二步:在堆中产生数组,并定义数据大小   arr=new int [10 ] 第三步:使用数组并赋予元素值    arr [0] =33; 或者直接列举法给数组赋值:int arr={12,5, 3, 56, 78} 注意

39.JAVA编程思想之外篇——JAVA图形化设计精简大全一文覆盖

39.JAVA编程思想之外篇--JAVA图形化设计精简大全一文覆盖 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/51204948 目录 Java图形化界面设计--容器(JFrame)...1 Java基本类(JFC)...1 l     AWTAbstract Window Toolkit(AWT)抽象窗口工具包... 2 l     Swing包... 2 l     AWT和Swing的区别... 6 Swing基本框

78.JAVA编程思想——改进设计

78.JAVA编程思想--改进设计 <Design Patterns>书内所有方案的组织都围绕"程序进化时会发生什么变化"这个问题展开.对于任何设计来说,这都可能是最重要的一个问题.若根据对这个问题的回答来构造自己的系统,就可以得到两个方面的结果:系统不仅更易维护(而且更廉价),而且能产生一些能够重复使用的对象,进而使其他相关系统的构造也变得更廉价.这正是面向对象程序设计的优势所在,但这一优势并不是自动体现出来的.它要求对我们对需要解决的问题有全面而且深入的理解.在这一节中

75.JAVA编程思想——设计范式

75.JAVA编程思想--设计范式 向大家介绍重要但却并不是那么传统的"范式"(Pattern)程序设计方法. 在向面向对象程序设计的演化过程中,或许最重要的一步就是"设计范式"(Design Pattern)的问世.它在由Gamma,Helm 和Johnson 编著的<DesignPatterns>一书中被定义成一个"里程碑"(该书由Addison-Wesley 于1995 年出版).那本书列出了解决这个问题的23 种不同的方法.我

Java 编程的动态性,第 7 部分: 用 BCEL 设计字节码--转载

在本系列的最后三篇文章中,我展示了如何用 Javassist 框架操作类.这次我将用一种很不同的方法操纵字节码——使用 Apache Byte Code Engineering Library (BCEL).与 Javassist 所支持的源代码接口不同,BCEL 在实际的 JVM 指令层次上进行操作.在希望对程序执行的每一步进行控制时,底层方法使 BCEL 很有用,但是当两者都可以胜任时,它也使 BCEL 的使用比 Javassist 要复杂得多. 我将首先讨论 BCEL 基本体系结构,然后本

重新精读《Java 编程思想》系列之组合与继承

Java 复用代码的两种方式组合与继承. 组合 组合只需将对象引用置于新类中即可. 比如我们有一个B类,它具有一个say方法,我们在A类中使用B类的方法,就是组合. public class B { public void say(){ } } public class A { public void combo(){ B b = new B(); b.say(); } } 在 java编程思想中,还介绍了四种初始化引用的方式. 1.在定义对象的地方. public class Bath{ pr

Java编程里类的继承

今天,我们将要讨论的内容是Java里面类的继承的相关概念. 说到继承,我相信大家都不陌生.生活中,子承父业,子女继承父母的财产,这就是继承.实际上,Java里的继承也是如此.对于一个类来说,它的数据成员和方法就是它的财产,而申明另一个类接收了这个类的财产,这就是Java里的继承. 接下来我将就几个方面,谈一谈继承的相关知识. 一.继承的基本格式与意义 在上文,我们了解了什么叫做继承.那么,如何使用继承? 继承的关键词是extends.继承的一般格式为:public class 类名 extend

Java 类设计----Java类的继承

Java类的继承 为描述和处理个人信息,定义类Person: public class Person { public String name; public inat age; public Date birthDate; public String getInfo() {...}} 为描述和处理学生信息,定义类Student: public class Student { public String name; public int age; public Date birthDate; p