java-day08
继承概念
继承是多态的前提,主要用于解决共性抽取
特点
子类可以拥有父类的内容,子类也可以有自己的专属内容
格式
public class 父类{}
public class 子类 extends 父类{}
如果子类与父类成员变量重名,逗号前是谁就优先使用谁,没有则向上找
重写
在继承关系中,子类与父类成员方法名一样,参数列表也一样,因为对象是子类的对象,所以优先用子类方法
注意事项
@override可以检测方法是否重写
子类的返回值小于等于父类返回值的范围
子类方法的权限大于等于父类方法的权限修饰符
继承后的构造方法
子类构造方法中有一个默认隐含的super关键字,所以一定是先调用的父类构造方法
可以通过super关键字子类构造调用父类重载构造方法
只用子类构造方法能够调用父类构造方法,且不能多次调用,且要放在方法体的第一句
super关键字用法
在子类方法中调用父类成员变量
super.成员变量名
在子类方法中调用父类成员方法
super.成员方法()
在子类构造方法中调用父类构造方法,且要放在第一句
super.构造方法()
this关键字
访问本类内容,调用时也要放在方法体的第一句,所以不能和super同时使用
Java语言是单继承的,只能有唯一一个父类,但可以多级继承(一个子类的直接父类只能有一个,但一个父类可以有多个子类)
抽象类
父类中的方法,如果不知道如何进行{}方法体实现,那么这应该就是一个抽象方法
格式
public abstract class 类名{
abstract void 方法名(); //定义抽象方法
}
注意事项
1.不能直接创建new抽象类对象
2.必须用一个子类继承抽象类
3.子类必须覆盖重写抽象父类中所有的抽象方法
去掉abstract关键字,补上{}
4.创建子类对象进行使用
java-day08的更多相关文章
- java - day08 - ArrayFounderTrans
package day07_addition; import java.util.Arrays; import java.util.Random; //数组 伸缩.增删.位移.复制 public cl ...
- java - day08 - PrimeNumLoop
质数循环查找 package day07_addition; //范围查找质数 public class PrimeNumLoop { public static void main(String[] ...
- 大数据学习day14-----第三阶段-----scala02------1. 元组 2.类、对象、继承、特质 3.函数(必须掌握)
1. 元组 映射是K/V对偶的集合,对偶是元组的最简单的形式,元组可以装着多个不同类型的值 1.1 特点 元组相当于一个特殊的数组,其长度和内容都可变,并且数组中可以装任何类型的数据,其主要用处就是存 ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 《JAVA笔记 day08 静态_单例》
//static关键字: /* 静态方法的使用注意事项: 1,静态方法不能访问非静态的成员. 但是非静态是可以访问静态成员的. 说明:静态的弊端在于访问出现了局限性.好处是可以直接别类名调用. 2,静 ...
- java 多线程 day08 java5多线程新特性
/** * Created by chengtao on 17/12/3. */public class Thread0801_java5_Atomaic { /* 三个包: http://tool. ...
- Java之路---Day08
2019-10-22-22:28:39 目录 1.Static静态类 2.Static内存图 3.Static静态代码块 4.Arrays类 5.Math类 Static静态类 一旦使用static修 ...
- Java基础Day08(多线程)
多线程 1. 线程 1.1 什么是线程: 程序中负责执行的哪个东东就叫做线程(执行路线,进程内部的执行序列或者说是进程的子任务) 多线程执行时,在栈内存中,每一个执行线程都有自己所属的栈内存空间.进行 ...
- Java 复习整理day08
package com.it.demo02_lambda; //接口, 表示动物. //public abstract class Animal { //报错, Lambda表达式只针对于接口有效 p ...
- java学习第二天面向对象.day08
this 在方法中表示调用当前方法的对象,this与主方法中对象类名调用是同理的,也是去指向堆中的地址. this可以解决成员变量和形参的问题 使用构造器还是setter方法 构造器:在创建对象的时侯 ...
随机推荐
- leetcode-三角形的最大周长
Python解法: class Solution: def largestPerimeter(self, A: List[int]) -> int: A.sort() for i in rang ...
- JAVA Java中@Override的作用
@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 1.可以当注释用,方便阅读: 2.编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错.例 ...
- 将map转为Object,支持 Date/Boolean
import lombok.extern.log4j.Log4j2; import java.lang.reflect.Field; import java.lang.reflect.Method; ...
- 【转载】WebRTC基于GCC的拥塞控制(上) - 算法分析
实时流媒体应用的最大特点是实时性,而延迟是实时性的最大敌人.从媒体收发端来讲,媒体数据的处理速度是造成延迟的重要原因:而从传输角度来讲,网络拥塞则是造成延迟的最主要原因.网络拥塞可能造成数据包丢失,也 ...
- MDK(KEIL) 两步解决 中文乱码 及 中文光标 半个半个跳的问题
1. 如果已经用MDK(KEIL)的默认设置写了好多中文,那么先用notepad把文件一一打开然后转变编码格式为 utf-8 without ROM,如下: 2. 如果还没有开始编辑,或者已经用not ...
- LaTeX+TexStudio安装与使用
(很多杂志期刊接受LaTeX电子版时会提供自己的模板,只要使用他们的模板即可完美地展现在对应的刊物中) 0x00. 优点 丰富易用的数学公式和特殊符号: 容易生成图表编号.引用.交叉引用.目录: 可以 ...
- vue axios springBoot 跨域session丢失
前端: 在引入axios的地方配置 axios.defaults.withCredentials=true,就可以允许跨域携带cookie信息了,这样每次发送ajax请求后,只要不关闭浏览器,得到的s ...
- Day9 - 异步IO\数据库\队列\缓存
本节内容 Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 Redis\Memcached缓存 Paramiko SS ...
- matplotlib画图出现乱码情况
python3使用matplotlib画图,因python3默认使用中unicode编码,所以在写代码时不再需要写 plt.xlabel(u’人数’),而是直接写plt.xlabel(‘人数’). 注 ...
- uoj21 【UR #1】缩进优化
题目 题意简介明了,需要找到一个\(T\),最小化 \[\sum_{i=1}^n\left \lfloor \frac{a_i}{T} \right \rfloor+\sum_{i=1}^na_i\% ...