• Java基础之多态


    前言

    Java是一种面向对象编程语言,抽象、继承、封装、多态,是面向对象语言的四个基本特征,

    抽象、继承和封装是多态的基础,同时多态是抽象、继承、封装的表现形式,

    简单的讲,多态就是一个消息的多种表现形式。

    多态的必要条件

    1.必须要有继承,

    2.必须要有子类重写父类的方法,

    3.父类的引用变量指向子类的对象,

    第2点中重写父类的方法的条件有三种情况是不能实现多态

    1.父类的方法是静态方法,静态方法是属于类本身而不是对象,静态方法是在class文件加载到java虚拟机时跟着类信息一起存在,

    2.父类的方法被final关键字修饰,不能够被子类重写,

    3.父类的方法是被private修饰的私有方法,不能够被子孙类重写;父类的方法是被 protected关键字修饰的受保护方法,他虽然能够被子孙类重写,但是不能够被外部方法调用;

    因此也是不能够体现多态的特性,

    多态的分类

    1.方法的重载,多个方法的方法名相同,参数列表,参数类型,参数顺序的不同构成一组重载方法,在编译时期体现,

    2.方法的重写,子类在继承父类时,重写父类的方法,并且在程序运行时期调用父类引用指向的对象的方法,

    重载指的是在一个具体的类中,参数列表不同,参数类型不同,参数顺序不同,且方法名相同的的一直方法,与返回值的类型和和修饰符无关

    Java语言的作用域有四类:public、protected、default、private

    1.public:public修饰的成员属性或方法对所有用户公开,

    2.protected:protected修饰的成员属性或者方法只对当前类、子孙类、同一个包下的类公开,

    3.default:default修饰的成员属性或者方法只对当前类、同一包下的类公开,

    4.private:private修饰的成员属性或者方法只能给当前类调用

    很多开发多年的Java程序员不太懂Java多态或者是以为多态很简单,然而开发却总写不出任何有质量的代码,我只想说,这不简单,这是很多复杂设计模式的基础,

    当然,楼主我也没有专研的很深。依旧在努力,在路上,希望以后写出更精致的文章。

  • 相关阅读:
    解决 JDK1.7 不支持 VCenter 6.7 的问题(涉及到Https TLS1.2协议)
    无法删除另一个分区的windows文件夹
    首次将项目从eclipse提交到服务器的SVN
    无法截图右键菜单
    配置文件无法修改(以修改my-default.ini为例)
    运行JavaWeb项目报错Access denied for user 'root'@'localhost' (using password: YES)
    jquery.page.js插件在使用时重复触发“上一页”和“下一页”操作
    请求ajax失败的原因(进入到error)
    ajax请求执行完成后再执行其他操作(jQuery.page.js插件使用为例)
    img标签src资源无法加载,报net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION错
  • 原文地址:https://www.cnblogs.com/sunshine798798/p/9029320.html
Copyright © 2020-2023  润新知