子类和父类有相同的方法,优先调用子类。如果子类没有,父类。

package studyDemo9yue;
public class study01 {
public static void main(String[] args) {
Son s1 = new Son();
s1.test();
}
} class Father{
void test(){
System.out.println("我是父类的test");
}
} class Son extends Father{
void test(){
System.out.println("我是子类的test");
}
} 输出的是:我是子类的test
因为子类有,所以优先调用子类

子类父类有相同的方法,子类调用父类方法使用super

package studyDemo9yue;
public class study01 {
public static void main(String[] args) {
Son s1 = new Son();
s1.test();
}
} class Father{
void test(){
System.out.println("我是父类的test");
}
} class Son extends Father{
void test(){
// 子类调用父类方法使用super
super.test();
System.out.println("我是子类的test");
}
} 输出:
我是父类的test
我是子类的test

重写

父类对象的方法其实主要体现在通用性,无法在特殊的场合下使用;
如果子类对象需要在特殊的场景下使用,那么就需要重写方法的逻辑,这个操作在java中我们称之为方法的重写。

方法重写的要求

方法的重写要求,子类的方法和父类的方法名称相同,参数列表相同。个数相同。参数类型相同

递归:一个方法调用自身的一种编程方式 [奇数求和]

package studyDemo9yue;
public class study01 {
public static void main(String[] args) {
System.out.println(sum(10)); }
public static int sum (int num) {
int isJiSHu = num % 2 ==0 ? num-1 : num;
if(isJiSHu == 1){
return isJiSHu;
} else {
return isJiSHu + sum (isJiSHu - 2 );
}
}
}

递归--[阶乘]

public class study01 {
public static void main(String[] args) {
System.out.println(jieCheng(5)); }
public static int jieCheng (int num) {
if(num ==1 ){
return num;
}else {
return num * jieCheng(num -1);
}
}
}

递归应该注意的点:

1.应该有跳出的逻辑

java子类父类有相同的方法优先调用子类-重写-递归的更多相关文章

  1. java之父类中的构造器是否能被子类继承?

    子类默认继承父类的属性和方法,但不会继承父类的构造器,而是在子类被实例化时会默认调用父类的空构造器.子类在创建的时候会调用自己的空构造器,并在空构造器会隐式调用super(),即父类的空构造器.如果父 ...

  2. 子类可以有跟父类中同名的方法,但是会重写父类中的方法,甚至是root class中的方法

    /* 子类可以重写父类中的方法,甚至是root class中的方法,比如NSObeject 的new方法,但是后提示警告如下 Method is expected to return an insta ...

  3. 子类的实例给父类的引用 在编译器时候 jvm认为他是父类的实例 只会去寻找父类里面的方法 如果调用子类里面的属性或者方法时候 jvm会认为该引用并没有 所以会报错

  4. java如何写自己的native方法实现调用本地的c++库?

    等待编辑 1:首先可以找一本jni    java native interface相关的书籍来看.

  5. java 多态 ---父类调用子类方法

    package test1;//多态的体现import javax.print.attribute.standard.RequestingUserName;import java.util.Scann ...

  6. java的父类声明,子类实例化(强制类型转换导致异常ClassCastException)

    一.使用原因 父类声明,子类实例化,既可以使用子类强大的功能,又可以抽取父类的共性. 二.使用要点 1.父类类型的引用可以调用父类中定义的所有属性和方法: 2.父类中方法只有在是父类中定义而在子类中没 ...

  7. PHP 父类方法如何访问子类属性

    设计知识点 类与对象->后期静态绑定 出现的问题 A 类为父类 里面有一个方法为调用当前类的 $name 属性 当 B 类继承了 A类时 但是输出仍然是 A (父类) 的 属性? <?ph ...

  8. java中构造代码块、方法调用顺序问题

    1. 继承的概念 继承在本职上是特殊——一般的关系,即常说的is-a关系.子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法. 2. 继承中的初始化顺序 从类的结构上而言,其 ...

  9. java-- 的子类/父类构造方法 转

    前提:父类和子类同时都有有参的构造函数和无参构造函数. Java中的子类初始化时初值为空.调用顺序为先调用父类无参构造函数,然后调用子类无参构造函数. java中的子类初始化时初值不为空.调用顺序为先 ...

  10. 隐藏父类方法的new和重写父类虚方法virtual的区别

    一.代码 public class Parent { public void Method_A() { Console.WriteLine("Parent Method_A"); ...

随机推荐

  1. 2024-2025, 四大翻译工具加AI翻译的深度对比

    前言 在过去两年中,人工智能技术的迅猛发展对翻译工具产生了深远的影响. 本期特意挑选了四款翻译工具以及一个AI翻译工具, 对其性能进行评测,看看在AI技术的加持下,它们的质量提升如何. 以下是参赛选手 ...

  2. NZOJ NOIP模拟赛1

    T1 好数 设ctz(x)为x二进制下末尾0的个数,如ctz(1001000)=3. 设ppc(x)为x二进制下1的个数,如ppc(1001000)=2. 定义一个数是好数,当且仅当ctz(x)=pp ...

  3. 2.TP6的入门-分页类的改写

    看了看推荐的分页类的使用,还是很简单的,可是自己去尝试改写生成的分页类结构就会很麻烦,总是不成功,后来发现手册里面还有这个 就说你想重写分页类,就需要这样做 赶紧实践了一下,先改这里的provider ...

  4. rabbitmq消息中间件的初步探索

    在上次学xattr的时候用它简单实现一个中间件,我去了解了一下rabbitmq这个消息中间件,感觉理论上还是挺好用的,给一般并发量的系统用足够了. 首先安装这个服务. sudo apt search ...

  5. typeScript 数组类型(五)

    typeScript 数组类型声明分默认数组类型和数组泛型声明,下面一一介绍 基础数组类型声明 // 声明数组类型 全数字类型 let arr: number[] = [1, 2, 4, 5, 7] ...

  6. golang之json.RawMessage

    RawMessage 具体来讲是 json 库中定义的一个类型.它实现了 Marshaler 接口以及 Unmarshaler 接口,以此来支持序列化的能力.注意上面我们引用 官方 doc 的说明. ...

  7. CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序

    Selenium Selenium 是一款开源且可移植的自动化软件测试工具,专门用于测试网页端应用程序或者采集网页端数据.它能够在不同的浏览器和操作系统上运行,具有很强的跨平台能力.Selenium可 ...

  8. 【项目学习】Morpho 借贷协议简单调研

    项目背景 Morpho blue (下称 Morpho)是一个超额抵押借贷协议.与传统的借贷协议不同,Morpho 无需经过治理批准即可创建任意定制化的借贷市场.用户可以通过指定一项贷款资产.一项抵押 ...

  9. React 的界面与数据分离问题

    React 生态庞大,没办法只能学一点.第一段学完就有一个根本性的问题了:它竟然把数据.业务逻辑和界面混在一起,组件变成了有"业务状态"的组件,这就意味着UI和业务绑定了.而这种糟 ...

  10. 【Python】HTML中Base64存储的图片转为本地图片文件

    我用jupyter notebook写了笔记之后,想导出markdown,然后导出不了,我就只能导出html,结果导出的html存储图片用的base64的方式-- 于是我就要把导出的html文档里面的 ...