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 ...
随机推荐
- 【记录一个问题】golang 中的 ecdsa(椭圆曲线加密) 算法很慢,因为用到了系统调用
代码中使用了椭圆曲线算法来签名,实际运行中发现不够快: func BenchmarkECDSA(b *testing.B) { privateKeyInst, err := parseSignatur ...
- ABP Vnext 微服务 常见问题
1.token问题 原因:拿token和认证token的服务器不一致 2.minio访问报错 minio错误 S3 API Request made to Console port. S3 R 解决方 ...
- Govulncheck v1.0.0 发布了!
原文在这里 原文作者:Julie Qiu, for the Go security team 发布于 13 July 2023 我们很高兴地宣布,govulncheck v1.0.0 已经发布,同时还 ...
- windows应用程序icon缓存、查看图标、icon制作方法
windows程序图标缓存 在vs中替换c++程序的图标后,需要重新编译,但是很多情况下都不会刷新,还是看到老的图标,只能重启电脑才能看到新的图标. 通过ChatGPT得到相关的回答如下: 如果在 W ...
- 使用 arxiv-sanity &paperwithcode 跟进最新研究领域的文章
1.arxiv-sanity介绍 arxiv.org是一个非常大的预印本资源库,里面有大量的最新的论文,但缺点是浏览.搜索和排序不是很方便.这个资源库每天会更新大量的论文,如果通过手动搜索和浏览则效率 ...
- Flask Paginate实现表格分页
flask_paginate 是 Flask 框架的一个分页扩展,用于处理分页相关的功能.它可以帮助你在 Flask Web 应用程序中实现分页功能,让用户可以浏览大量数据的不同部分.本篇博文重点讲述 ...
- LyScript 实现绕过反调试保护
LyScript插件中内置的方法可实现各类反调试以及屏蔽特定API函数的功能,这类功能在应对病毒等恶意程序时非常有效,例如当程序调用特定API函数时我们可以将其拦截,从而实现保护系统在调试时不被破坏的 ...
- Mygin中间件优化及logger日志中间件
本篇是mygin的第七篇,参照gin框架,感兴趣的可以从 Mygin第一篇 开始看,Mygin从零开始完全手写,在实现的同时,带你一窥gin框架的核心原理实现. 目的 中间件Middleware优化 ...
- 利用 ASP.NET Core 开发单机应用
前言 现在是分布式微服务开发的时代,除了小工具和游戏之类刚需本地运行的程序已经很少见到纯单机应用.现在流行的Web应用由于物理隔离天然形成了分布式架构,核心业务由服务器运行,边缘业务由客户端运行.对于 ...
- 架构设计脱胎换骨!英特尔酷睿Ultra深度解析
英特尔正式发布了第一代酷睿Ultra处理器平台,也就是首个基于Intel 4制程工艺(7nm)打造的移动级处理器平台,其核心代号为Meteor Lake,产品系列贴标设计也采用了全新方案. 同时在命名 ...