继承

  • 面向对象编程(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的特性——继承的更多相关文章

  1. java三大特性--继承

    定义: 继承就是子类继承父类的特征和行为,使得子类具有父类的各种属性和方法,使得子类具有父类相同的行为. 继承的好处: 有效实现代码复用,避免重复代码的出现. 让类与类之间产生了关系,是多态的前提. ...

  2. 二、java三大特性--继承

    在讲解之前我们先看一个例子 Husband.java public class Husband { private String name; private String sex; privatein ...

  3. 2019.3.13 Java实现分数的四则运算

    Java实现分数的四则运算 自己的写法 markdown太久没写格式不会用了--将就着看 Fraction.java package com.lanou; public class Fraction ...

  4. 2019/05/13 JAVA虚拟机堆内存调优

    -Xms4000m 堆内存初始值 * -Xmx4000m 堆内存最大值 * -XX:+PrintGCDetails 打印GC信息 * -XX:+UseSerialGC 使用串行GC * -XX:+Pr ...

  5. java四大特性理解(封装继承多态抽象)

    封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口.面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治.封装的对象,这些对象通过一个受保护的接口访问其他对象.封装是一 ...

  6. Java提高篇之理解java的三大特性——继承

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  7. Java 三大特性——封装、继承、多态

    一.封装 封装,实际就是把属于同一类事物的共性(包括属性与方法)归到一个类中,以方便使用. 概念:在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节 ...

  8. JAVA基础第二章-java三大特性:封装、继承、多态

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

  9. java三大特性:封装、继承、多态

    Java三大特性之封装   一.定义 封装性指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部的信息,而是通过该类所提供的方法来实现对内部信息的操作和访问. 二.使用封装的好处: 1 ...

随机推荐

  1. Java日志组件logback使用:加载非类路径下的配置文件并设置定时更新

    Java日志组件logback使用:加载非类路径下的配置文件并设置定时更新 摘自: https://blog.csdn.net/johnson_moon/article/details/7887449 ...

  2. 第十二课 Actionlib(1)

    一\Actionlib概念 在ROS系统中,有时需发送请求给某个节点完成相应的任务,同时获得一个一个响应,这种情况下可以通过ROS服务来 完成;然而,在某些情况下,服务需要很长时间才能执行完,如让机器 ...

  3. Part8-不用内存怎么行_6410内存初始化lesson3

    1.6410地址空间 外设区:从0x70000000-0x7FFFFFFF有256MB 主存储区:从0x00000000-0x6FFFFFFF有1972MB 对于主存储区: 静态存储区可以接我们的NO ...

  4. hdu1269 Tarjan强连通分量 模板(转)

    #include<stdio.h> #include<iostream> #include<vector> using namespace std; ; vecto ...

  5. C语言多线程

    http://www.cnblogs.com/lixiaohui-ambition/archive/2012/07/26/2610336.html

  6. ROW_NUMBER分页

    var query = string.Format("SELECT {0} FROM (SELECT ROW_NUMBER() OVER (ORDER BY {3}) AS RowNum, ...

  7. What is difference between 3-layer architecture and MVC architecture?

    By Vikas Singh on Sep 26, 2014 In 3-layer architecture  3-layer architecture separates the applicati ...

  8. 设计模式05: Prototype 原型模式(创建型模式)

    Prototype 原型模式(创建型模式) 依赖关系的倒置抽象不应该依赖于实现细节,细节应该依赖于抽象.对所有的设计模式都是这样的. -抽象A直接依赖于实现细节b -抽象A依赖于抽象B,实现细节b依赖 ...

  9. oracle 中用法dual

    dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录.我们可以用它来做很多事情. dual是一个虚拟表,用来构成select的语法规则,oracle保证d ...

  10. 享元(Flyweight)模式

    享元(Flyweight)模式:运用共享技术有效的支持大量细粒度的对象. /* * 抽象享元(Flyweight)角色:此角色是所有的具体享元类的超类,为这些类规定出需要实现的公共接口. 那些需要外蕴 ...