java OOP第03章_继承、抽象类和抽象方法

一、    为什么需要继承:
    若多个类中都需要一些属性和方法,那么就可以将属性和方法抽取到一个父类中,需要的子类可以通过extends关键字去继承这个父类后拥有相应的属性和方法。
    类、数组、方法----引用数据类型
二、    继承的流程:
  1、    编写父类:Animal
  2、    编写子类:Dog、Cat、Pig
  3、    在子类中通过extends关键字去继承父类:
三、    继承的注意事项:
  1.    父类中的属性和方法只有使用protected、public修饰的才能被子类继承。
  2.    当编写一个类时,若使用了extends关键字继承某个父类,该父类就是当前类的直接父类;      若没有使用extends关键字继承某个父类,系统会自动继承object类,object就是该类的直接父类;所有类都会直接或间接继承object类。
  3.    子类继承父类后,只要父类是使用protected、public修饰的方法都能被子类继承,若子类对父类的方法不满意可以通过@Override标识重写父类的方法。
  4.    子类中重写父类方法,子类中的方法访问(范围)修饰符只能是与父类相同或更大,而不能比父类的修饰符更小。
  5.    Java是一个单继承的开发语言,即一个类只能继承一个父类,但是可以实现多个接口。
  6.    Final修饰的类是终态类,是不能被其他类继承的;final修饰的方法是终态方法,是不能被子类重写(覆盖)。
四、    继承后的初始化流程:
  1.    初始化父类的属性:
  2.    初始化父类的静态代码块:
  3.    初始化子类的属性:
  4.    初始化子类的静态代码块:
  5.    初始化父类的构造方法:
  6.    初始化子类的构造方法:
  7.    初始化子类或父类的实例方法:
五、    Super关键字:
  Super是“超级,父类”的意思,通过该关键字可以去访问父类中的资源(属性、构造方法、实例方法)。
  1.    Super访问父类的属性:
    格式:super.属性名
    举例:super.name
  2.    Super访问父类的实例方法:
    格式:super.方法名()
    举例:super.publicMethod()
  3.    Super访问父类的构造方法:
    Super();
  注意:
    1)    只能在子类的构造方法中调用父类的构造方法,而不能在实例方法中调用父类的构造方法。
    2)    调用父类构造方法的语句之前不能有其他语句。注释除外
    3)    This();调用自己类的构造方法;在一个构造方法中调用另一个构造方法,调用构造方法的语句前不能有其他语句。
六、    抽象方法和抽象类:
  1.    抽象方法:
    Java当中的方法有两个部分构成:定义和实现,既有定义部分和实现部分的方法称为实现了的方法;    只有定义部分而没有实现部分的方法称为抽象方法,抽象方法需要使用abstract关键字修饰,{}用;代替。
  2.    抽象类:
    一个类中若包含了抽象方法,那么这个类就必须使用abstract修饰符将他声明为抽象类;抽象类中可以包含抽象方法、实例方法。也可以没有抽象方法。
  3.    抽象类的注意事项:
    1)    抽象类和接口都是不能被实例化的,即不能创建抽象类和接口的对象。
    2)    一个类若继承了一个抽象类或实现接口,该类有两种选择,要么将自己声明为抽象类,要么实现所有的抽象方法。

原文地址:https://www.cnblogs.com/zhangzimuzjq/p/11692236.html

时间: 2024-10-31 02:06:29

java OOP第03章_继承、抽象类和抽象方法的相关文章

Java oop第05章_多态、接口

一. 为什么需要接口? Java中当一个类继承父类时,最多也只能继承一个父类,扩展性会受到一定的限制,为了弥补这一缺陷,Java又提供了一种新的引用数据类型分类,叫接口. 一个类只能继承一个父类,但可以实现多个接口. 二. 接口的定义和使用: 1. 定义接口:使用interface关键字. 2. 实现接口:在一个抽象类或实现类中可以通过implements关键字. 三. 接口的注意事项: 1. 接口是比抽象类更加抽象的“类”,接口中所有的方法都是抽象方法(不管是否使用abstract关键字修饰)

2019-05-17 Java学习日记之面向对象_多态&抽象类&接口

多态 多态的概述: A:多态(polymorphic) 事物存在的多种形态 B:多态前提 a:要有继承关系 b:要有方法重写c:要有父类引用指向子类对象 多态中的成员访问特点之成员变量: 成员变量:编译看左边(父类),运行看左边(父类)多态中的成员访问特点之成员方法:成员方法:编译看左边(父类),运行看右边(子类)多态中的成员访问特点之静态成员方法:静态方法:编译看左边(父类),运行看左边(父类)(静态和类相关,算不上重写,所以访问还是左边的)只有非静态的成员方法,编译看左边,运行看右边 多态的

Java oop第08章_JDBC01(入门)

一. JDBC的概念: JDBC(Java Database Connectivity)java数据库链接,是SUN公司为了方便我们Java程序员使用Java程序操作各种数据库管理系统制定的一套标准(规范), 其中定义一些接口.抽象类和抽象方法,再由各个数据库管理系统厂商实现这些抽象方法,我们程序员只要学习一套JDBC规范就可以操作各种数据库管理系统. JDBC也是一个注册商标. 二. JDBC的入门案例/JDBC的开发流程: 1. 创建一个Java project/web project:JD

java oop第09章_JDBC02(CRUD操作)

第09章_JDBC02(CRUD操作) CRUD(CREATE . RETIVE . UPDATE . DELETE)增删改查. DAO中会提供一些CRUD操作方法,调用者可以通过调用这些方法完成相应操作,本章讨论DAO中需要提供一些什么方法? 一.     Dao常用的方法 1.     增加的方法: 通常需要传入实体对象携带所有属性值,作为插入的数据:返回的是受影响的行数(int类型). 如:insertDept(Dept dept) 2.     删除的方法:通常需要传入id(指的是数据表

java oop第12章_IO、序列化和反序列化

引言:数据通常通过文件系统保存在外存中,有时需要将他们读取到程序中进行一些操作,Java针对文件系统的操作提供了一套规范,即IO,针对计算机内存而言,输入的称为输入流,输出的称为输出流. 一.      IO的分类:     从传递方向划分:输入流(InputXxx).输出流(OutPutXxx).     从数据格式划分:字节流(XxxStream).字符流(XxxReader.XxxWriter).     从数据中转的节点划分:节点流.过滤流 图源:http://test.processo

C++程序设计_第6章_继承和派生

例6.1 使用默认内联函数实现单一继承. 1 #include<iostream> 2 3 using namespace std; 4 5 class Point 6 { 7 private: 8 int x, y; 9 public: 10 Point(int a, int b) 11 { 12 x = a; 13 y = b; 14 cout << "Point..." << endl; 15 } 16 void Showxy() 17 { 1

二、Java面向对象(8)_继承思想——方法覆盖

2018-05-01 方法覆盖(重写) override(覆盖): 覆盖解决的问题:当父类的某一个行为(方法)不符合子类具体的特征时,此时父类需要重新定义父类方法,并重写方法体. 注意:只有方法才有覆盖的概念,字段没有. 方法覆盖的原则: 1.实例方法签名必须相同.(方法签名 = 方法名称 + 方法参数列表) 2.子类方法不能返回比父类方法更大的数据类型,子类方法的返回值类型必须和父类方法的返回值类型相同,或者子类方法的返回值类型是父类方法的返回值类型的子类. (子类可以返回更具体的数据类型,比

二、Java面向对象(8)_继承思想——子类初始化过程

2018-05-01 子类初始化过程 构造器的调用遵循以下的顺序: (1):调用基类构造器.这个步骤会不断地反复递归下去,首先是构造这种层次结构的根,然后是下一层导出类,等等,直到最低层的导出类. (2):按声明顺序调用成员的初始化方法. .(3):调用导出类构造器的主体.(也就是文中的main方法中的内容) 这样做的最终目的:让方法中的所有成员变量都得到初始化. 创建子类对象之前会先创建父类对象 调用子类构造器之前,在子类构造器之前会先调用父类的构造器,默认调用的是无参构造器 如果父类不存在可

Java 第十二章 继承 笔记

Java 第十二章  继承 笔记 一.使用继承:     1)方便修改代码     2)减少代码量 二.super 继承object 类:super 访问父类的无参构造:super 指的是object 的无参构造.     例:子类调用父类:super.属性 / super.方法    注意:子类不能继承父类私有属性:得用set.get方法来调用:    super只能写在代码块的第一句:super只能调用非私有的方法:    super只能出现在子类的方法和构造方法中. 三.不能被继承的父类成