1.继承性:继承已有的功能。使用extends关键字。class  子类   extends  父类{}

子类又被称为派生类,父类又被称为超类。

继承的限制:

1.java中,不允许多重继承,即一个子类只能继承一个父类。一个C子类,想同时继承A和B,不可以多重继承,可以多层继承。class A{}class B extends A{}class C extend B{}

2.子类继承的时候,将父类的内容全部继承下来,一下两点区别:所有的非私有操作采用显式继承。(子类可以直接使用)。所有的私有操作采用隐式继承(子类可以间接操作,可以通过方法操作)。

3.子类对象在进行实例化之前,会默认调用父类中的无参构造方法,为父类属性分配空间,之后再调用子类自己的构造方法,为本类属性分配空间。

2.覆写

继承关系发生后,对于子类而言很有可能定义了与父类相同的方法或者属性,这个时候就会发生覆写的问题,当然覆写分为:方法的覆写和属性的覆写。

方法的覆写就是子类定义了与父类相同的方法的时候(方法名称相同,参数的类型或个数相同、返回值类型相同)。

覆写的时候要注意权限问题,被子类所覆写的方法不能拥有比父类更严格的访问控制权限。(就开发而言,在开发之中,基本上的方法90%都是使用public权限定义的)

this和super的操作范围:

this.方法()指的是调用本类的方法,如果本类中不存在此方法再从父类中查找使用;

super()方法指的是直接调用父类中的方法,不再查找子类。

属性的覆写:其实没有意义,因为属性必须封装,封装之后就无法覆写了。

覆写和重载的区别

NO.

区别

重载

覆写

1

单词

OverLoading

Override

2

概念

方法名称相同,参数的类型或个数不同

方法名称,返回值类型、参数的个数及类型全部相同

3

范围

发生在同一个类之中

发生在继承关系中

4

权限

重载的时候没有权限设置

子类覆写的方法不能拥有比父类更严格的访问控制权限

this和super的区别

NO.

区别

this

super

1

属性

this.属性指的是找到本类的属性,如果本类没有找到则继续查找父类

super.属性直接在子类之中查找父类中的指定属性,不再查找子类本身

2

方法

This.方法()指的是找到本类的方法,如果本类没有找到则继续查找父类

Super.方法()直接在子类之中查找父类中的指定方法,不再查找子类本身

3

构造

都必须放在构造方法的首行,所以两个操作不能同时出现

4

特殊

表示当前对象

3.final关键字

final  可以定义类、属性、方法。

1.使用final定义类:意味着这个类不能有子类,就是一个太监类(个人定义的不多,系统类上经常出现)

2.final定义方法:方法不能被子类覆写,在开发中很少直接编写。

3.final定义的变量成为常量,内容不可改变,而且必须在定义的时候为其设置内容。

java整理(三)的更多相关文章

  1. 20165324 Java实验三 敏捷开发与XP实验

    20165324 Java实验三 敏捷开发与XP实验 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:何春江 学号:20165324 指导教师:娄嘉鹏 实验日期:2018年4月16日 ...

  2. Java EE : 三、图解Session(会话)

    目录 Java EE : 一.图解Http协议 Java EE : 二.图解 Cookie(小甜饼) Java EE : 三.图解Session(会话) 概述 一.Session由来 二.Sessio ...

  3. JAVA第三周作业(从键盘输入若干数求和)

    JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...

  4. 编程语言性能游戏排行榜,C/C++第一ATS第二JAVA第三

    编程语言性能游戏排行榜,C/C++第一ATS第二JAVA第三 编程语言性能游戏排行榜,C/C++第一ATS第二JAVA第三

  5. Java的三种代理模式

    Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩 ...

  6. Java的三种代理模式简述

    本文着重讲述三种代理模式在java代码中如何写出,为保证文章的针对性,暂且不讨论底层实现原理,具体的原理将在下一篇博文中讲述. 代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下, ...

  7. Java进阶(三十九)Java集合类的排序,查找,替换操作

    Java进阶(三十九)Java集合类的排序,查找,替换操作 前言 在Java方向校招过程中,经常会遇到将输入转换为数组的情况,而我们通常使用ArrayList来表示动态数组.获取到ArrayList对 ...

  8. Java进阶(三十八)快速排序

    Java进阶(三十八)快速排序 前言 有没有既不浪费空间又可以快一点的排序算法呢?那就是"快速排序"啦!光听这个名字是不是就觉得很高端呢. 假设我们现在对"6 1 2 7 ...

  9. Java进阶(三十七)java 自动装箱与拆箱

    Java进阶(三十七)java 自动装箱与拆箱 前言 这个是jdk1.5以后才引入的新的内容.java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装称为装箱,解包装称为 ...

  10. Java进阶(三十六)深入理解Java的接口和抽象类

    Java进阶(三十六)深入理解Java的接口和抽象类 前言 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太 ...

随机推荐

  1. 第二章 python基础(三)

    第十六节 MySQLdb win64位安装python-mysqldb1.2.5 ubuntu下安装MySQLdb sudo apt-get install python-MySQLdb 导入MySQ ...

  2. spring-springMVC-MyBatis整合配置文件

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="htt ...

  3. 《java编程思想》:字符串

    1.String对象是不可变的,String类中每个看起来会修改String值的方法,实际上都是创建了一个新的String对象,来包含修改后的内容,所以在对String修改后,想打印新的值,可以直接打 ...

  4. 微信非全屏播放设置(仅Iphone)

    由于微信X5内核强制视频全屏,用X5自带内核播放,一般内嵌视频打开播放就会被全屏. ihpone里面可以通过设置 x-webkit-airplay="true" webkit-pl ...

  5. 浏览器全屏的JS代码实现

    方法一:该方法是从一个网上的效果看到不错,然后自己就拿来下来实验了一下,还是比较满意度,下面直接给出代码 <!DOCTYPE HTML> <html lang="en-US ...

  6. [转]为什么GOF的23种设计模式里面没有MVC?

    GoF (Gang of Four,四人组, <Design Patterns: Elements of Reusable Object-Oriented Software>/<设计 ...

  7. .NET接入微信支付(一)JS API接入 V3

    前段时间刚接完银联支付,完事后又接了微信支付,前段时间一直急着上线,微信的接入一直没有时间处理,今天我们就来整理一下微信支付的接入方法和要点. 配置: 首先呢微信支付需要通过审核,审核啥的准备工作我就 ...

  8. MongoDB之二基础入门(window/linux安装启动)

    mongodb中有三元素:数据库,集合,文档,其中“集合”就是对应关系数据库中的“表”,“文档”对应“行”. 一window安装与启动 一. 下载 上MongoDB官网 ,下载页面:https://w ...

  9. 杂项-Log:log4net

    ylbtech-杂项-Log:log4net log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等) ...

  10. 【opencv学习笔记八】创建TrackBar轨迹条

    createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便.首先大家要记住,它往往会和一个回调函数配合起来使用.先看下他的函数 ...