面向对象三大特征

1.封装

封装是一种信息隐藏技术

a.是指数据和基于数据的操作封装在一起,数据被保护在内部(类的内部(对象))

b.系统的其他部分只有通过在数据外面的被授权的操作才能进行交互(没有授权的操作就不能被访问 隐藏)

隐藏的好处:

1.可以控制自己,哪些东西对外部可见,哪些东西对外部隐藏(访问控制)

2.通过隐藏,我们只让外部,访问到必须对外部可见的部分,这样的好处是,在修改代码,就可以随意修改,而不需要考虑,修改完代码后,对代码使用者的影响。

2.继承

不劳而获,什么都不敢,就已经得到一些东西了 (代码复用)

  • 使程序结构清晰,减少了编码和维护的工作量,子类可以使用父类所提供的方法,实现了代码的复用
    class WangdaoStudent extends Students
    WangdaoStudent:是Students子类
    Students: 被WangdaoStudent继承, Students是WangdaoStudent的父类

3.多态

用同一函数调用实现不同的操作的方法——同一方法,在不同的情况下,表现出不同的行为。

方式1:同一类中参数不同的同名方法(重载)

1.编译时多态(方法重载):

任意类的的方法名,在不同的参数列表的情况下,产生不同的行为 (编译时多态)

重载:不是子类对父类同名方法的重新定义,而是类对自身已有的同名方法的重新定义。重载方法的参数必须不同,或者是参数个数不同,或者是参数类型不同

方法签名: 声明方法的方法头中方法名中加上方法的参数列表 方法名+参数列表

1.可以唯一确定一个方法

2.类体中不能声明签名完全相同的两个方法

3.当两个方法具有相同的方法名,但有不同数量或类型的参数,而导致不同的方法签名时,称这两个方法为互相重载。

    System.out.println(“earth”);
    System.out.println(100);
    system.out.println(new Body(“Sun”));

2.运行时多态:父类和子类之间的同名方法(发生的范围,不是任意类,只有有继承关系的类中,才有可能发生运行时多态)

运行时多态:只有在jvm运行,jvm才会知道执行的父类中的同类方法还是子类中的同名方法。

JavaBasic_07的更多相关文章

随机推荐

  1. 最新jquery+easyui_api培训文档

    目  录 1 Accordion(可折叠标签) 2 1.1 实例 2 1.2 参数 3 2 DateBox(日期框) 4 2.1 实例 4 2.2 参数 6 2.3 事件 6 2.4 方法 6 3 C ...

  2. docker图形化管理工具portainer

    本章主要介绍docker的web图形化管理工具.这里使用 portainer(类似与dockui不过dockerui只支持单节点) 镜像名称 portainer/portainer 一.启动porta ...

  3. .NET接入UnionPay银联支付(一)手机wap支付

    最近呢,比较忙,公司在接入银联全渠道支付,博主接手的wap支付,发表一下博主在接入的时候遇到的坑和注意事项,方便大家学习接入,爬坑的路上更顺利一点~ 开发步骤 1. 以表单的方式组装要发送给银联全渠道 ...

  4. dell win10 productkey

  5. unordered_map/unordered_set & unordered_multimap/unordered_multiset非关联容器

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  6. Cracking The Coding Interview4.8

    //You are given a binary tree in which each node contains a value. Design an algorithm to print all ...

  7. Python自动化必备发送邮件报告脚本详解

    #!/usr/bin/python3# -*- coding:UTF-8 -*-import smtplib#smtplib库主要用来连接第三方smtp库,用来发邮件from email.mime.t ...

  8. powerdesigner远程连接数据库

    1. dabatase-->configure connections 2.新建连接 3.配置TNS连接测试 4.出现异常及处理 Could not Initialize JavaVM! 出现这 ...

  9. JavaWeb:脚本标识

    脚本标识 一.JSP表达式 1.介绍 用于向页面中输出信息 2.语法格式 <%= 表达式%> 3.注意 在"<%"和"="之间不允许有空格,但 ...

  10. React 高阶组价详解

    这个教程还是不错的...