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方法 构造器:在创建对象的时侯 ...
随机推荐
- javascript中内置函数
一.基本函数库 split():用于把一个字符串分割成字符串数组 toUpperCase(): substr(): 长度 length() 拼接(两种) + concat():合并多个字符串,并返回合 ...
- PHP PDO 错误与错误处理
PDO::ERRMODE_SILENT 此为默认模式. PDO 将只简单地设置错误码,可使用 PDO::errorCode() 和 PDO::errorInfo() 方法来检查语句和数据库对象.如果错 ...
- 利用NHibernate与MySQL数据库交互
本文章使用Visual Studio作为开发工具,并建立在已经安装MySQL数据库的前提. NHibernate是一个面向.NET环境的对象/关系数据库映射工具.官网:http://nhibernat ...
- markdown常用数学符号小结
(有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 markdown使用LaTex输入数学公式类 Markdown数学符号&公式 CSDN-MarkDown编辑器使用手册(4)- ...
- LeetCode 445. Add Two Numbers II (两数相加 II)
题目标签:Linked List 题目给了我们两个 数字的linked list,让我们把它们相加,返回一个新的linked list. 因为题目要求不能 reverse,可以把 两个list 的数字 ...
- i++ 和 ++i 的区别
先说运算规则吧. i++ 是先赋值后自增:++i 是先自增后赋值. 以下是代码示例: int a=0; int b=0; int i=0; a=i++; System.out.println(&quo ...
- Spark Streaming的简单介绍
本文讲解Spark流数据处理之Spark Streaming.本文的写作时值Spark 1.6.2发布之际,Spark 2.0预览版也已发布,Spark发展如此迅速,请随时关注Spark Stream ...
- ionic js 侧栏菜单 把主要内容区域从一边拖动到另一边,来让左侧或右侧的侧栏菜单进行切换
ionic 侧栏菜单 一个容器元素包含侧边菜单和主要内容.通过把主要内容区域从一边拖动到另一边,来让左侧或右侧的侧栏菜单进行切换. 效果图如下所示: 用法 要使用侧栏菜单,添加一个父元素<ion ...
- SpringMVC常用注解知识总结
1.@Controller 注解到类名上,表示该类是控制器. 2.@RequestMapping("/xxxx") 可以放在类名/方法名之上,表示访问请求该方法时的url.如果该方 ...
- cacti ERROR: FILE NOT FOUND
Cacti 版本: 0.8a 在安装好 cacti之后,进入Settings -> Paths, 而且里面的路径在系统中都存在的,在这里显示ERROR: FILE NOT FOUND 参考1的博 ...