一、Java语言中假设一个类没有显式的继承任何类,那么该类默认继承Java SE库中提供的java.lang.Object类

1.快捷键:Ctrl + shift + T:可以在Myeclipse中查找类

2.快捷键:Ctrl + shift + R:可以在Myeclipse中查找资源

继承类举例:

package com.bjpowernode.java_learning;

​

public class D45_1_ extends Extend1 {

  public static void main(String[] args) {

    D45_1_ d1 = new D45_1_();

    System.out.println(d1.toString());//说明继承了JavaSE默认的类

    System.out.println(d1.a);//继承了Extend1这个类,其实继承就是指把父类的代码都拿到子类里面

    //不能继承构造方法和私有实例变量

  }

​

}

class Extend1 {

  int a;

}

回顾一下:

方法重载和返回值类型,和修饰符列表是没有关系的。

方法重载的条件:在同一个类中;方法名相同;参数列表不同(包括顺序、类型、个数)

二、方法的覆盖

1.方法覆盖又被称为方法重写,英文名称:override\overwrite

2.什么时候使用方法重写

当父类中的方法已经无法满足当前子类的业务需求,子类有必要将父类中继承过来的方法机型重新编写,这个重新编写的过程称为方法重写/方法覆盖

3.什么条件下才会发生方法覆盖

(1)方法重写发生在具有继承关系的​父子类之间;

(2)返回值类型相同,方法名相同,形式参数列表相同

(3)方法重写的时候,访问权限不能变得更低,比如:原来的函数是public的,继承的类必须比public更大,或者平级,不能是protected这种更小的权限

(4)方法重写的时候,抛出异常不能更多,可以更少或一样多。(这个后面再讲)

4.建议方法重写的时候尽量复制粘贴,不要编写,容易出错,导致没有产生覆盖​。

5.​注意点:

(1)私有方法不能继承,​所以不能覆盖;(2)构造方法不能继承,所以​不能覆盖;(3)静态方法不存在覆盖​;(4)覆盖只针对方法不包含属性变量​。

package com.bjpowernode.java_learning;

​

public class D45_2_MethodCover {

  public static void main(String[] args) {

    Animal1 a1 = new Animal1();

    a1.name = "jfai";

    a1.move();

    Bird1 b1 = new Bird1();

    b1.name = "jfioaweh";

    b1.move();

  }

​

}

class Animal1{

  String name;

  public void move() {

    System.out.println(this.name+"正在移动");

  }

}

class Bird1 extends Animal1{

  public void move() {

    System.out.println(this.name+"不再移动");//方法重写,

  }

}

6.生成override的​快捷方法:

source-生成方法覆盖​

五、源码:

D45_1_InheritClassExample.java

D45_2_MethodCover.java

地址:

https://github.com/ruigege66/Java/blob/master/D45_1_InheritClassExample.java

https://github.com/ruigege66/Java/blob/master/D45_2_MethodCover.java

2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

Java连载45-继承举例、方法覆盖的更多相关文章

  1. [Java学习]面向对象-类的继承;方法覆盖

    一.类的继承 实现方法: public Class SubClass extends SuperClass{ } 继承最基本作用: 代码重用. 继承最重要的作用: 方法可以重写. 关于类的继承: 子类 ...

  2. 【JAVA】笔记(4)---继承;方法覆盖;多态机制;super;

    继承(extends): 1.作用:为方法覆盖和多态机制做准备:使代码得到复用(节省代码量): 2.格式: class 子类 extends 父类 3.理解继承:子类继承父类,其实就相当于把父类的类体 ...

  3. Java面向对象之继承,方法重写,super关键字,员工类系列继承题

    在程序中,如果想声明一个类继承另一个类,需要使用extends关键字. 格式: class 子类 extends 父类 {} 继承的好处 1.继承的出现提高了代码的复用性,提高软件开发效率. 2.继承 ...

  4. 接口与继承:方法覆盖(super)

    源代码 //父类Parent class Parent{ int x; int y; Parent() { x = ; y = ; } public void Set(int a,int b) { x ...

  5. 继承 & super & 方法覆盖

    简单继承 细节1: 细节2: 子类创建对象,先 父类构造器,后 子类的构造器,因为(默认的super) 细节3: 假设父类只有一个有参构造器,  此时需要子类用上super给定父类参数,才能通过编译 ...

  6. Java类的继承与方法调用的一个小问题

    public class Father { protected void server(int i){ switch (i){ case 1: methodone(); break; case 2: ...

  7. 牛客网Java刷题知识点之方法覆盖(方法重写)和方法重载的区别

    不多说,直接上干货! https://www.nowcoder.com/ta/review-java/review?query=&asc=true&order=&page=6 ...

  8. Java连载44-静态代码块、实例代码块、继承

    一.可以使用static关键字来定义“静态代码块” 1.语法规则 static { java语句: } 2.静态代码块在类加载时执行,并且只执行一次 3.静态代码块在一个类中可以编写多个,并且遵循自上 ...

  9. java基础疑难点总结之成员变量的继承,方法重载与重写的区别,多态与动态绑定

    1.成员变量的继承 1.1要点 子类用extends关键字继承父类.子类中可以提供新的方法覆盖父类中的方法.子类中的方法不能直接访问父类中的私有域,子类可以用super关键字调用父类中的方法.在子类中 ...

随机推荐

  1. mysql登录错误:'Access denied for user 'root'@'localhost'

    首先是不知道怎么忽然mysql用命令行,workbench都登录不了,都提示'Access denied for user 'root'@'localhost'. 数据库卸载重装了几次都不行.好像感觉 ...

  2. Nginx 简介与安装、常用的命令和配置文件

    1.nginx 简介(1)介绍 nginx 的应用场景和具体可以做什么事情 (2)介绍什么是反向代理 (3)介绍什么是负载均衡 (4)介绍什么是动静分离 2.nginx 安装(1)介绍 nginx 在 ...

  3. 记录python上传文件的坑(2)

    描述: 1.之前在写项目mock代码时,碰到一个上传文件的接口,但项目接口本身有token保护机制,碰到token失效时,需要重新获取一次token后,再次对上传文件发起请求,在实际调用中发现,第一次 ...

  4. import com.sun.org.apache.xml.internal.security.utils.Base64问题

    ———————————————— 版权声明:本文为CSDN博主「荚小白」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csd ...

  5. post请求四种传送正文的方式

    一.简介 HTTP协议规定post提交的数据必须放在消息主体(entity-body)中,但协议没有规定数据必须使用什么编码方式.HTTP协议是以ASCII码传输,建立再TCP/IP协议之上的应用层规 ...

  6. gmail 批量删除邮件

    前几天我在 github上 star 了一下 angular 项目,然后8,9 天的时间收到了很多邮件,起初我没注意看具体数量,直接全选-删除.结果删了 3,4 页了还有很多.再仔细一看,一万多封邮件 ...

  7. 手把手教你搭建织女星开发板RISC-V开发环境

    前言 Windows环境下搭建基于Eclipse + RISC-V gcc编译器的RISC-V开发环境,配合openocd调试软件,可以实现RISC-V内核程序的编译.下载和调试. 准备工作 工欲善其 ...

  8. 利用Python制作一个只属于和她的聊天器,再也不用担心隐私泄露啦!

    ------------恢复内容开始------------ 是否担心微信的数据流会被监视?是否担心你和ta聊天的小秘密会被保存到某个数据库里?没关系,现在我们可以用Python做一个只属于你和ta的 ...

  9. PlayJava Day014

    今日所学: /* 2019.08.19开始学习,此为补档. */ 1.Random生成的随机数是伪随机数,因为只要两个Random对象的种子相同,而且方法的调用顺序也相同,则产生的随机数相同. Ran ...

  10. JavaScript 字符串是否包含某个字符串

    字符串方式 indexOf()   (推荐) var str = "123"; console.log(str.indexOf("3") != -1 ); // ...