1、重写【针对父类与子类而言】---------即java的多态性【子类与父类间有相同的名称和参数,此方法就被重写Overriding;又称:方法覆盖】

 子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变。即外壳不变,核心重写!

 重写的好处在于子类可以根据需要,定义特定于自己的行为。

  例如1:

package com.test.two;

//父类
public class Animal { public void move(){
System.out.println("动物可以叫");
}
} package com.test.two; //子类继承父类
public class Dog extends Animal{
public void bark(){
System.out.println("狗可以叫");
}
public void move(){
System.out.println("狗可以移动");
}
} package com.test.two; public class DogTest {
public static void main(String[] args) {
Animal a = new Animal();//父类声明对象
Animal b = new Dog();//父类声明,子类创建
Dog c = new Dog();//子类声明,子类创建
a.move();
b.move();//执行的是子类中与父类共有的方法
// b.bark();--->The method bark() is undefined for the type Animal
c.move();
c.bark(); }
}

运行结果是:

动物可以叫
狗可以移动
狗可以移动
狗可以叫

结论:【子类可以由父类声明,也可以由子类声明】,父类声明子类创建的对象,执行的方法只能是俩者共有的方法(输出的结果是:子类重写的方法内容);由子类声明子类创建的对象,里面的方法都可以被执行到。

其执行的先后顺序如下:

  

 package com.extend.test;

 //父类
public class Father {
private String name = "father"; public Father(){
testOne();
testTwo();
} public void testOne(){
System.out.println("Father testOne : "+ name);
} public void testTwo(){
System.out.println("Father testTwo : "+ name);
}
public static void main(String[] args) {
new Father();
}
} package com.extend.test; //子类继承父类
public class Son extends Father {
private String son = "son"; public Son(){
testOne();
testTwo();
} public void testOne(){
System.out.println("Son testOne : "+son);
} public void testTwo(){
System.out.println("Son testTwo : "+son);
} public static void main(String[] args) {
new Son();
}
}

  运行子类java代码,输出结果是:

Son testOne : null
Son testTwo : null
Son testOne : son
Son testTwo : son

 先执行子类的main主函数,然后执行父类的无参构造函数,然后是子类的无参构造函数(子类重写了父类的方法),直接输出子类的方法中语句,

java中重写的更多相关文章

  1. [转帖]Java中重写和重载与多态的关系

    Java中重写和重载与多态的关系 2019-09-05 00:57:41 留下一天今天 阅读数 67  收藏 更多 分类专栏: java进阶之路   版权声明:本文为博主原创文章,遵循CC 4.0 B ...

  2. 一文搞懂--Java中重写equals方法为什么要重写hashcode方法?

    Java中重写equals方法为什么要重写hashcode方法? 直接看下面的例子: 首先我们只重写equals()方法 public class Test { public static void ...

  3. java 中重写toString()方法

    toString()方法 一般出现在System.out.println(类名.toString()); toString()是一种自我描述方法 本身返回的是 getClass().getName() ...

  4. 浅谈Java中重写与重载的区别

    重载和重写是Java中两个截然不同的概念.但是却因为名字相近导致很多人经常混淆. 下面用例子展示出他们之间的区别. 在Java中,重载(overloading) 发生在本类.方法名相同,参数列表不同, ...

  5. Java中重写与重载的辨析

    摘要:在我们学习Java过程中,重写与重载使我们在面向对象里要学习的重要知识点之一,那我们看看它们有那些区别: 一.重写 1.概念:简单的说就是子类将从父类继承而来的方法重新实现一次. 2.特点: ① ...

  6. JAVA中重写equals()方法的同时要重写hashcode()方法

    object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true:注意:当此方法 ...

  7. JAVA中重写equals()方法为什么要重写hashcode()方法?

    object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true:注意:当此方法 ...

  8. Java中重写与重载

    重写(覆盖):发生在子类与父类之间:方法名相同方法的个数.类型相同返回值类型小于等于父类的返回值类型 重载:发生在一个类中:方法名相同方法的个数.类型不同返回值类型可以相同也可以不相同

  9. Java中重写与重载的区别

    方法重载:关键字overload,方法名和方法的返回类型都相同,方法参数个数和类型不一样方法重写:也叫方法覆盖,关键字override,相对于类继承而言,重写的方法名,返回类型,参数个数,参数类型都要 ...

随机推荐

  1. Linux基本命令+Makefile

    1.linux下查看进程占用cpu的情况(top): 格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 主要参数 d:指定更新的间隔,以秒计算. q:没有任何延 ...

  2. Python 字符串Ⅱ

    Python 字符串格式化 Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中. 在 Python 中,字符 ...

  3. 6. ClustrixDB 备份恢复

    ClustrixDB备份恢复:   一.传统MySQL的备份/恢复 shell> mysqldump -u user -h clustrix host --single-transaction ...

  4. Devexpress 10

    序言 Grid表格 资料 https://www.devexpresscn.com/

  5. 监听ios自带返回功能

    //1.一开始用这段代码,结果发现滚动都失效了,如果页面大于屏幕高度将无法滚动至底部,所以淘汰 // document.addEventListener('touchmove', function(e ...

  6. 【BZOJ2022】Pku1837 Balance

    Description Gigel has a strange "balance" and he wants to poise it. Actually, the device i ...

  7. Python3学习笔记(六):字符串

    一.基本字符串操作 所有标准的序列操作(索引.分片.乘法.判断成员资格.求长度.取最小值和最大值)对字符串同样适用.但是字符串是不可改变的. 二.字符串格式化 字符串格式化使用字符串格式化操作符(%) ...

  8. es之索引的别名操作

    1:增加别名 为索引school添加一个别名alias1: 1.1:创建索引 PUT student{ "settings": {"number_of_shards&qu ...

  9. HTTP深入浅出http请求(转)-----http请求的过程和实现机制

    摘要:此文章大概讲明了http请求的过程和实现机制,可以作为了解,至于请求头和响应头的具体信息需要查看下一篇随笔:Http请求详解(转)----请求+响应各字段详解   HTTP(HyperText ...

  10. 大哥带的Orchel数据库时间盲注

    0X01Oracle基于延时的盲注总结 0x00 前言 oracle注入中可以通过页面响应的状态,这里指的是响应时间,通过这种方式判断SQL是否被执行的方式,便是时间盲注: oracle的时间盲注通常 ...