2019.3.13 Java的特性——继承
继承
面向对象编程(OOP)三大特征:继承,封装,多态
目的:为了减少重复代码,避免复制粘贴
创建父类Animal
public class Animal {
private String name; //定义name属性
private String kind; //定义kind属性
private int age; //定义age属性
public void bite(){ //创建bite方法
System.out.println("咬咬咬");
}
public void bark(){ //创建bark方法
System.out.println("叫叫叫")
}
@Override
public String toString() {
return "Animal{" +
"name='" + name + '\'' +
", kind='" + kind + '\'' +
", age=" + age +
'}';
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getKind() {
return kind;
}
public void setKind(String kind) {
this.kind = kind;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
- 创建子类Cat继承于父类Animal
public class Cat extends Animal{
}
- MainClass中使用子类Cat
public class SecClass {
public static void main(String[] args) {
Cat cat = new Cat();
cat.setName("旺财");
cat.setAge(2);
cat.setKind("土狗");
System.out.println(cat);
cat.bark();
cat.bite();
}
}
输出显示测试数据
注释
子类和父类是相对概念
只有单继承,只能继承一个类
子类可以继承父类所有的"public"修饰的属性和方法,"private"修饰的无法继承
main中通过访问public方法来访问private属性
子类可以有独特的方法和属性,功能可以比父类更细致
父类比子类范围更大
Java中所有的类都最终继承于Object类
当子类Cat中想要新加方法时
public class Cat extends Animal{
public void wash(){
System.out.println("洗脸");
}
}
当子类Cat想要修改(重写)父类方法时
- 子类可以重写(Alt+Insert选第三个,快捷键ctrl+o)
- 测试样例,bark()方法想要输出"喵喵喵"
public class Cat extends Animal{
@Override
public void bark() {
System.out.println("喵喵喵");
}
}
- 当子类Cat既想重写父类方法,又想在父类方法的基础上新加东西
public class Cat extends Animal{
public void bite() {
super.bite();//→就是执行前面的bite"咬咬咬"
System.out.println("猫咬人");//新添加的东西
}
}
- 注释
- super的作用在子类中调用从父类继承的方法
- 测试样例
2019.3.13 Java的特性——继承的更多相关文章
- java三大特性--继承
定义: 继承就是子类继承父类的特征和行为,使得子类具有父类的各种属性和方法,使得子类具有父类相同的行为. 继承的好处: 有效实现代码复用,避免重复代码的出现. 让类与类之间产生了关系,是多态的前提. ...
- 二、java三大特性--继承
在讲解之前我们先看一个例子 Husband.java public class Husband { private String name; private String sex; privatein ...
- 2019.3.13 Java实现分数的四则运算
Java实现分数的四则运算 自己的写法 markdown太久没写格式不会用了--将就着看 Fraction.java package com.lanou; public class Fraction ...
- 2019/05/13 JAVA虚拟机堆内存调优
-Xms4000m 堆内存初始值 * -Xmx4000m 堆内存最大值 * -XX:+PrintGCDetails 打印GC信息 * -XX:+UseSerialGC 使用串行GC * -XX:+Pr ...
- java四大特性理解(封装继承多态抽象)
封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口.面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治.封装的对象,这些对象通过一个受保护的接口访问其他对象.封装是一 ...
- Java提高篇之理解java的三大特性——继承
在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...
- Java 三大特性——封装、继承、多态
一.封装 封装,实际就是把属于同一类事物的共性(包括属性与方法)归到一个类中,以方便使用. 概念:在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节 ...
- JAVA基础第二章-java三大特性:封装、继承、多态
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- java三大特性:封装、继承、多态
Java三大特性之封装 一.定义 封装性指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部的信息,而是通过该类所提供的方法来实现对内部信息的操作和访问. 二.使用封装的好处: 1 ...
随机推荐
- cv 验证
This is how I have trained a xgboost classifier with a 5-fold cross-validation to optimize the F1 sc ...
- Luogu 4251 [SCOI2015]小凸玩矩阵
BZOJ 4443 二分答案 + 二分图匹配 外层二分一个最小值,然后检验是否能选出$n - k + 1$个不小于当前二分出的$mid$的数.对于每一个$a_{i, j} \geq mid$,从$i$ ...
- django: django rest framework 分页
django: django rest framework 分页 2018年06月22日 13:41:43 linux_player_c 阅读数:665更多 所属专栏: django 实战 版权声 ...
- POJ - 2586 Y2K Accounting Bug (找规律)
Accounting for Computer Machinists (ACM) has sufferred from the Y2K bug and lost some vital data for ...
- 什么是“光照度(Illuminance)”?
光照度是光度学的概念,了解光照度,要从人眼的特性说起. 人眼的光谱响应 传统的辐射度学的概念(如“功率”,单位为“瓦”)可以客观描述“能量”,但当其用来描述“光照”时却是不合适的,原因在于:人眼对不同 ...
- Java 文件上传至leanCloud
首先,在Controller端入参设置为 @RequestParam(value = "file",defaultValue = "") MultipartFi ...
- ASP.NET Session原理及处理方法
session是怎么存储,提取的 1.在服务器端有一个session池,用来存储每个用户提交session中的数据,Session对于每一个客户端(或者说浏览器实例)是“人手一份”,用户首次与Web服 ...
- 以太坊系列之三: 以太坊的crypto模块--以太坊源码学习
以太坊的crypto模块 该模块分为两个部分一个是实现sha3,一个是实现secp256k1(这也是比特币中使用的签名算法). 需要说明的是secp256k1有两种实现方式,一种是依赖libsecp2 ...
- leecode刷题(5)-- 只出现一次的数字
leecode刷题(5)-- 只出现一次的数字 只出现一次的数字 描述: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具 ...
- PHP编码技巧
原则 正确实现功能 执行速度与快 占系统资源少 后期维护方便 编程注意 1.命名很重要 2.适当的使用注释 3.使用一个变量,需要初始化 4.优先使用单引号 $row['id']的效率是$row[id ...