Java 重写引入
1 package com.bytezero.override;
2 /*
3 * 方法的重新(override/overwrite)
4 *
5 * 1.重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作
6 *
7 * 2.重写以后,创建子类对象以后,通过子类对象调用父类中的同名同参数的方法时,
8 * 实际执行的是子类重写父类的方法
9 *
10 * 3.重写的规定:
11 * 方法的声明:权限修饰符 返回值类型 方法名 thiows(异常的类型)(形参列表)
12 * {
13 * //方法体
14 * }
15 *
16 * 子类中的叫重写的方法
17 * 父类中的叫被重写的方法
18 * (1)子类重写的方法的方法名和形参列表与父类被重写的方法名和形参列表相同
19 * (2)子类重写的方法的权限修饰符 不小于 父类被重写的方法权限修饰符(也可以相等)
20 * >特殊情况:子类不能重写父类中声明为 private 权限的方法
21 *
22 * (3)返回值类型
23 * 父类被重写的方法的返回值类型是 void,则子类重写的方法的返回值类型 只能是 void
24 * 父类被重写的方法的返回值类型是 A 类型,则子类重写的方法的返回值类型可以是A类,
25 * 或A类的子类
26 * 父类被重写的方法的返回值类型是 基本数据类型(double),则子类重写的方法的返回值类型必须
27 * 是相同的基本数据类型(double)
28 *
29 * 异常方面:子类重写的方法抛出异常类型(Runtime) 不大于 父类被重写的方法抛出异常类型(Exception)
30 *
31 * ************************************************************************************************
32 * 子类和父类中的同名同参的方法 要么都声明为非static的(考虑重写),要么都声明为 static的(不是重写)
33 * static不能被重写 .
34 *
35 *
36
37 * 面试题:区分方法的重载与重写
38 *
39 *
40 *
41 *
42 *
43 *
44 *
45 *
46 */
47
48
49
50 public class PersonTest
51 {
52 public static void main(String[] args)
53 {
54 Student s = new Student("计算机科学与技术");
55
56 s.eat(); //重写以后调用自己的
57 s.walk(100); //父类的
58
59 System.out.println("*************************");
60
61 // s.major ="语文"; //自己的
62 s.study();
63
64 Person p1 = new Person();
65 p1.eat(); //调用自己的eat() 方法
66 }
67 }
1 package com.bytezero.override;
2
3 public class Person
4 {
5 String name;
6 int age;
7
8 public Person()
9 {
10
11 }
12
13 public Person(String name,int age)
14 {
15 this.name = name;
16 this.age = age;
17 }
18
19 public void eat()
20 {
21 System.out.println("吃饭");
22 }
23 public void walk(int distance)
24 {
25 System.out.println("走路,走的距离是啊"+distance+"公里");
26 show();
27 eat();
28 }
29
30 private void show()
31 {
32 System.out.println("这是一个私有的方法");
33 }
34
35 public Object info()
36 {
37 return null;
38 }
39
40 public double info1()
41 {
42 return 1.0;
43 }
44
45
46 }
1 package com.bytezero.override;
2
3 public class Student extends Person
4 {
5
6 String major;
7
8 public Student()
9 {
10
11 }
12
13 public Student(String major)
14 {
15 this.major = major;
16 }
17
18 public void study()
19 {
20 System.out.println("学习,专业是:"+major);
21 }
22
23 //重写了父类中的 eat方法
24 public void eat()
25 {
26 System.out.println("学生应该多吃有营养的食物");
27 }
28
29 public void show() //不认为是重写了,因为父类是 私有 private 权限
30 {
31 System.out.println("这是一个私有的方法,这个方法在student重写了。");
32 }
33
34 public String info()
35 {
36 return null;
37 }
38
39 // public int info1()
40 // {
41 // return 1;
42 // }
43
44
45
46 }

Java 重写引入的更多相关文章
- Java - 21 Java 重写(Override)与重载(Overload)
Java 重写(Override)与重载(Overload) 重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变.即外壳不变,核心重写! 重写的好 ...
- java 重写你可以这么理解 因为 方法名和参数类型个数相同 所以这就是重写了 然后 因为是重写 所以 返回值必须相同
java 重写你可以这么理解 因为 方法名和参数类型个数相同 所以这就是重写了 然后 因为是重写 所以 返回值必须相同
- Java:重写equals()和hashCode()
Java:重写equals()和hashCode() 1.何时需要重写equals() 当一个类有自己特有的“逻辑相等”概念(不同于对象身份的概念). 2.设计equals() [1]使用instan ...
- JAVA重写不需要@override
一,如下代码, package com.boot.enable.bootenable; import org.springframework.scheduling.annotation.Async; ...
- Java项目引入第三方Jar包
普通java Project 引入jar包: 1,copy jar to lib folder. 2, imported with Build path -> Add external jars ...
- Java重写方法与初始化的隐患(转)
原文出处: Shawon 虽然文章标题是Java, 但几乎所有面向对象设计的语言都遵守这个初始化流程, 感谢廖祜秋liaohuqiu_秋百万指出, 之前忘记提这个了. 前言 drakeet写了个和Re ...
- java重写equals方法
@Override public int hashCode() { return task.getId(); } @Override public boolean equals(Object obj) ...
- Java 重写(Overriding)和重载(Overloading)
方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现. 重写是父类与子类之间多态性的一种表现 重载是一类中多态性的一种表现.
- java 重写 重载
首先我们来讲讲:重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 重载Overloading是一个类中多态 ...
- java如何引入接口中定义的常量
接口 (A.java) : package config; public interface A { String PROJECT_ROOT_DIR = System.getProperty(&quo ...
随机推荐
- vuex中action中发送数据
state: { actionData: "", }, mutations: { actioncomAPi: (state, data) => { state.actionD ...
- (数据科学学习手札157)pandas新增case_when方法
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,pandas在前不久更新的2. ...
- 微信小程序网页嵌入开发
无脑开发 下载微信开发者工具 新建一个项目找到index开头的进去全选删除粘贴下面代码 <!-- html --> <!-- 指向嵌入外部链接的地址 --> <web-v ...
- Rocketmq学习4——Broker消息持久化原理源码浅析
一丶前言 在<Rocketmq学习3--消息发送原理源码浅析>中,我们学习了消息发送的要点: 本地缓存+rpc 请求namesever + 定时刷新,topic路由信息 负载均衡的选择一个 ...
- Origin2017、Origin2018详细安装教程
1.Origin2017安装 1.1 安装步骤: 解压安装包,打开"Origin2017"目录,双击"setup.exe"开始安装 安装步骤1,点击[下一步] ...
- 在package.json里面配置npx
1.配置这个npx表示打包的时候选择本地node_modules安装的webpack来打包
- 万字手撕AVL树 | 上百行的旋转你真的会了吗?【超用心超详细图文解释 | 一篇学会AVL】
说在前面 今天这篇博客,是博主今年以来最最用心的一篇博客.我们也很久没有更新数据结构系列了,几个月前博主用心深入的学习了这颗二叉平衡搜索树,博主被它的查找效率深深吸引. AVL树出自1962年中的一篇 ...
- P9247 [集训队互测 2018] 完美的队列题解
题目链接:[集训队互测 2018] 完美的队列 神仙数据结构题,看了很多题解才搞懂.在做此题之前,最好对分块很熟悉,对各类标记非常熟练.考虑题意说的种类是相对于全局的.我们可以考虑局部影响对全局影响. ...
- 使用DoraCloud免费版搭建办公桌面云
DoraCloud是一款多平台的桌面虚拟化管理软件,支持Hyper-V.VMware.Proxmox.XenServer等多种虚拟化平台.DoraCloud在虚拟化平台上具有极大的灵活性,允许您的组织 ...
- YOLO数据集划分(测试集和验证集)
在目标检测任务中,数据集的划分通常分为训练集和验证集,以便在训练模型时评估模型的性能.这个过程对于有效训练和评估目标检测模型非常重要.下面是划分目标检测数据集的一般步骤:`` 数据集组织: 确保你的数 ...