java整理(三)
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整理(三)的更多相关文章
- 20165324 Java实验三 敏捷开发与XP实验
20165324 Java实验三 敏捷开发与XP实验 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:何春江 学号:20165324 指导教师:娄嘉鹏 实验日期:2018年4月16日 ...
- Java EE : 三、图解Session(会话)
目录 Java EE : 一.图解Http协议 Java EE : 二.图解 Cookie(小甜饼) Java EE : 三.图解Session(会话) 概述 一.Session由来 二.Sessio ...
- JAVA第三周作业(从键盘输入若干数求和)
JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...
- 编程语言性能游戏排行榜,C/C++第一ATS第二JAVA第三
编程语言性能游戏排行榜,C/C++第一ATS第二JAVA第三 编程语言性能游戏排行榜,C/C++第一ATS第二JAVA第三
- Java的三种代理模式
Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩 ...
- Java的三种代理模式简述
本文着重讲述三种代理模式在java代码中如何写出,为保证文章的针对性,暂且不讨论底层实现原理,具体的原理将在下一篇博文中讲述. 代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下, ...
- Java进阶(三十九)Java集合类的排序,查找,替换操作
Java进阶(三十九)Java集合类的排序,查找,替换操作 前言 在Java方向校招过程中,经常会遇到将输入转换为数组的情况,而我们通常使用ArrayList来表示动态数组.获取到ArrayList对 ...
- Java进阶(三十八)快速排序
Java进阶(三十八)快速排序 前言 有没有既不浪费空间又可以快一点的排序算法呢?那就是"快速排序"啦!光听这个名字是不是就觉得很高端呢. 假设我们现在对"6 1 2 7 ...
- Java进阶(三十七)java 自动装箱与拆箱
Java进阶(三十七)java 自动装箱与拆箱 前言 这个是jdk1.5以后才引入的新的内容.java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装称为装箱,解包装称为 ...
- Java进阶(三十六)深入理解Java的接口和抽象类
Java进阶(三十六)深入理解Java的接口和抽象类 前言 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太 ...
随机推荐
- Selenium-浮层的操作
实现-百度登录浮层-输入登录用户名 #! /usr/bin/env python #coding=utf-8 ''' 百度首页-登录浮层 ''' from selenium import webdri ...
- Java_数据交换_dom4j_01_解析xml
1.说明 详细原理以后再研究,先将例子存着 2.代码 2.1 xml内容 <?xml version="1.0" encoding="UTF-8"?> ...
- Activity间数据传输
当对Android有一些了解后,不难发现,Android程序UI框架接近于Web页面的概念.每一个用于呈现页面的组件,Activity,都是彼此独立的,它们通过系统核心来调度整合,彼此之间的通过Int ...
- FFmpeg 'scale' filter not present, cannot convert pixel formats.
/*************************************************************************** * FFmpeg 'scale' filter ...
- L1-039 古风排版(20 分)
中国的古人写文字,是从右向左竖向排版的.本题就请你编写程序,把一段文字按古风排版. 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数.第二行给出一个长度不超过1000的非空 ...
- netsh wlan start hostednetwork
常用的无线网命令: 一.开启系统承载网络模块和新建无线网络命令: netsh wlan set hostednetwork mode=allow ssid=wifi key=12345678说明:ss ...
- unity渲染层级关系小结
http://blog.csdn.net/meegomeego/article/details/42060389 最近连续遇到了几个绘制图像之间相互遮挡关系不正确的问题,网上查找的信息比较凌乱,所以这 ...
- 理解Promise
一.Propmise基本用法 Promise用于发送一个异步完成的结果,是替代回调函数的另一种选择.可以把Promise理解为一种异步函数. 以下函数通过一个Promise来异步地返回一个结果 fun ...
- android获取时间差的方法
本文实例讲述了android获取时间差的方法.分享给大家供大家参考.具体分析如下: 有些时候我们需要获取当前时间和某个时间之间的时间差,这时如何获取呢? 1. 引用如下命名空间: import jav ...
- 【转】Jquery折叠效果
转自:http://www.cnblogs.com/clc2008/archive/2011/10/25/2223254.html <!DOCTYPE html PUBLIC "-// ...