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

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. 李继刚Lisp提示词灵感之源:压缩推动进步

    前面在文章< 访谈李继刚:从哲学层面与大模型对话 >中提到,继刚总结去年写提示词的核心理念是"清晰表达",而今年则是"压缩表达",既而才有火爆全网的 ...

  2. 本机环境virtualbox出现问题重装

    vagrant reload 的时候 电脑卡住死机了,然后我重启了以后就没办法启动了,于是重装这个 vagrant 使用  sudo apt-get remove vagrant  然后如果清除不干净 ...

  3. Linux中vim快捷键+vim报错解决

    vim快捷键+vim报错解决 vim 快捷键 编辑器 ​ yum -y install vim ​ 快捷键: 视图模式: 0 Home ^ 快速移动光标到行首 $ End 快速移动光标到行尾 u 撤销 ...

  4. (Python基础教程之十六)Python multidict示例–将单个键映射到字典中的多个值

    1.什么是multidict词典> 在python中," multidict "一词用于指代字典,在字典中可以将单个键映射到多个值.例如 多重结构 multidictWith ...

  5. SpringCloudStream极简教程

    简介 Spring Cloud Stream 是一个轻量级消息驱动微服务框架,旨在简化与消息中间件(如 Kafka.RabbitMQ 等)的集成,支持消息的发布和订阅模式.它提供了一种基于 Sprin ...

  6. 20号CSS学习

    前面部分笔记丢失(呜呜有机会补) 一.盒子模型 1.4表格的细线边框 border-collapse: collapse;表示相邻边框合并在一起. 1.5边框会影响盒子的实际大小 测量时不测边框. 1 ...

  7. Simple FOC内置通信接口学习(二):电机命令接口

    本文参(zhao)考(chao)至官方文档https://docs.simplefoc.com/docs_chinese/commander_interface Commander 接口 Comman ...

  8. LeetCode题集-8 - 字符串转换整数 (atoi)

    题目:请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数. 01.手动处理每个字符法 最简单的方法永远是脑海中第一个想到的方法,也是最暴力的方法,而这 ...

  9. 助推乡村振兴,四川农担X中电金信大数据智能风控平台彰显“榜样的力量”

    ​在2024年3月召开的两会上,政府工作报告首次提到了要大力发展科技金融.绿色金融.普惠金融.养老金融.数字金融,为深入推进金融高质量发展,走中国特色金融发展之路指明了方向.其中,四川农担作为一家专注 ...

  10. 运筹帷幄,质效兼修:源启云原生基础设施管理平台助推企业IT基础资源能效跃迁

    导语 数字化大潮席卷,企业需要建设一套能够满足云原生环境下基础资源一体化管理和快速交付的基础设施自动化管理系统,系统需要具备"云上""云下""容器&q ...