专栏首页Golang开发Java基础——多态Polymorphic

Java基础——多态Polymorphic

方法的多态性

方法覆写:子类覆写父类的方法,Override 多态: 针对某个类型的方法调用,其真正执行的方法取决于运行时实际类型的方法 对某个类型调用方法,执行的方法可能是某个子类的覆写方法 允许添加更多类型的子类来扩展功能

关键字final

final修饰的方法不能被Override final修饰的类不能被继承 final修饰的field必须在创建对象时初始化 final修饰的字段初始化后不能重新赋值

方法重载

(1)方法名称相同,方法参数个数,类型, 顺序不同。 方法重载要求两同一不同:同一个类中方法名称相同,参数列表不同,

方法覆盖/覆写

当子类继承父类的所有可能被子类访问的成员方法时,如果子类的方法名和父类的方法名相同,那么子类不能继承父类的方法,此时子类覆写了父类方法。 (1)意味着拷贝父类的的方法 ,与父类的区别主要在方法体里面的内容不同。

类的多态性

指的是发生在继承关系类中,子类和父类的转换。 向上转型:父类 父类对象 = 子类实例; //自动完成 向下转型:子类 子类对象 = (子类)父类实例。 //强制完成

public class Person {

    public void run(){
        System.out.println("Person run");
    }
}

student

public class Student  extends Person{
    @Override
    public void run() {
        System.out.println("Student run");
    }
}

main

public class Main {

    public static void main(String[] args) {
       Person s = new Student();
       s.run();
    }
}

Object重要方法

toString 把实例字符串化 equals 判断两个实例是否逻辑相等 hashCode 计算一个实例的哈希值

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java基础——继承

    在java中使用extends关键字来表示继承关系。 当创建一个类时,总是在继承,如果在类中声明中没有extends关键字,就总是隐式地从java.lang....

    羊羽shine
  • iOS音频(1)——AudioToolbox

    AudioToolbox提供的API主要是C 使用起来相对晦涩,针对本文提供了简单的代码示例减小学习的阻力 AudioToolbox

    羊羽shine
  • Mysql——查询

    查询指定范围内的条件记录,将所有的查询条件用括号括起来。每个条件之间用逗号隔开,只需要满足其中一个条件的值就算做匹配项

    羊羽shine
  • Java中方法重写的应用

      当子类需要父类的功能,而功能的主体子类还有自己特有的内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类自己特有的内容。

    黑泽君
  • 面向对象——继承

    Object是默认的所有类的父类,每个类对象都可以使用像hashCode()、equals(Object obj)、toString()等这些方法。是因为它们就...

    木瓜煲鸡脚
  • overload和override

    说实话,这两个没有什么可比较的,概念相差那么大,但是很多笔试题之类的还喜欢考。只是长的像了一点而已。

    MickyInvQ
  • 【Java学习笔记之十六】浅谈Java中的继承与多态

    1、  什么是继承,继承的特点? 子类继承父类的特征和行为,使得子类具有父类的各种属性和方法。或子类从父类继承方法,使得子类具有父类相同的行为。 特点:在继承关...

    Angel_Kitty
  • 子类可以继承到父类上的注解吗--有结论了

    -----------------------------------------------------------------

    lyb-geek
  • Python 继承

    为了保证编写的代码能够同时在 Python 2.x 和 Python 3.x 运行!

    Devops海洋的渔夫
  • 面向对象的设计原则-"里氏替换原则"

    why(目的):为什么要学习"里式替换原则",我们都知道面向对象的三大特性:封装、继承、多态,该原则就是对良好的"继承关系"定义了一些规范,通过学习理解后可以写...

    别明天就今天吧

扫码关注云+社区

领取腾讯云代金券