面向对象三大特征

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. 解决SSH Secure Shell 连接Liunx 有乱码情况。

    输入:echo $LANG:查看当前使用系统语言 locale :安装是否是LANG="zh_CN.UTF-8":说明已经安装中文语言 步骤1:用root账户登录linux系统,或 ...

  2. 关闭provider进程或者consumer进程后,会发生什么?

    下图是 provider,consumer 和注册中心之间的拓扑图: provider,consumer 以及管理控制台都是 zookeeper 的客户端,所以都和 zk 建立了tcp连接. 以接口 ...

  3. 默认五笔输入法qq

    默认五笔输入法   1● 五笔设置   2● 语言设置     Success  

  4. 【Java算法】求质数的算法

    计算100以内的质数 1.质数:大于1的整数中,只能被自己和1整除的数为质数. 如果这个数,对比自己小1至2之间的数字,进行求余运算,结果都不等于0,则可以判断该数为质数. public class ...

  5. 微信小程序web-view使用测试总结

    1.后台配置业务域名. 2.在开发者工具的web-view组件中绑定业务域名. 3.点击开发者工具的详情按钮,选择调试基础库高版本,如果不设置,有可能绑定的业务域名内容不显示. 4.如果是公众号上的内 ...

  6. laravel文件上传(本人使用的ftp驱动配置,本地测试总结)

    1.电脑端在:控制面板->程序和功能->打开和关闭Window功能,安装:Internet信息服务的(Ftp服务器,web管理工具的IIS管理服务,万网服务的常见http功能) 2.在电脑 ...

  7. Oracle数据库备份策略:全备与增量备份

    一.RMAN全备份 在数据量比较小.或者数据库服务器性能很强大的情况下,可以每天进行一次全备份. 全被策略如下 1.crontab定时任务,避开业务繁忙时段 ##################### ...

  8. 基于WMI的信息查询和编辑,按微软的说明一般都是

    晕!这个不是很简单的东西吗? //---------WMI---------- type Rec_Wmi = record ComputerName: string; Namespace: strin ...

  9. vue-router-7-重定向及别名

    const router = new VueRouter({ mode: 'history', base: __dirname, routes: [ { path: '/', component: H ...

  10. 3.9 C++多继承

    参考:http://www.weixueyuan.net/view/6366.html 总结: C++中一个派生类中允许有两个及以上的基类,我们称这种情况为多继承 使用多继承可以描述事物之间的组合关系 ...