JavaBasic_07
面向对象三大特征
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的更多相关文章
随机推荐
- js地址多选实现,居住地,户口,职业,行业多选2
需求是根据点击一个按钮 实现动态添加数据,所以每个数据都有一个地址多选, 以下是效果实现及部分关键代码,相关js相关文件在 http://www.cnblogs.com/zhan1995/p/848 ...
- 在用mybatis向MySQL数据库中插入时间时报错:Incorrect datetime value: '' for column '' at row 1
问题说明:使用的MySQL是5.1.37版本,用的mysql-connector-java-5.0.4.jar版本,在java文件中定义的字段是Date类型,MySQL中定义的字段类型是datetim ...
- python vue 项目
http://www.jianshu.com/p/fe74907e16b9 mac 电脑,亲测可以,可以看下开源的写法及思路
- React中禁止chrome填充密码表单
当 input 的 type="password" 时,chrome浏览器会以 type="password" 为标识记住输入的用户名和密码, 如果chrome ...
- bzoj2045
题解: 莫比乌斯反演经典题目 直接套公式好了 代码: #include<bits/stdc++.h> using namespace std; ; typedef long long ll ...
- System.properties
win: len:54java.runtime.name=Java(TM) SE Runtime Environment sun.boot.library.path=D:\Java\jdk1.8. ...
- Java:<获取>、<删除>指定文件夹及里面所有文件
工具类代码如下: 一.获取 public Class Test{ //定义全局变量,存放所有文件夹下的文档 List<String> fileList ; public List<S ...
- Linux学习 : 总线-设备-驱动模型
platform总线是一种虚拟的总线,相应的设备则为platform_device,而驱动则为platform_driver.Linux 2.6的设备驱动模型中,把I2C.RTC.LCD等都归纳为pl ...
- 【Appium】Appium工作原理
参考:http://www.cnblogs.com/zhjsll/p/5698878.html 原作者写的很好,所以直接放在这里. 一.什么是Appium Appium是一个开源.跨平台的测试框架,可 ...
- java基础学习之抽象类
以下内容是自己学习后的一个备忘笔记,理解上肯定有很多问题,望有耐心的大神能给予指点,谢谢 定义:抽象是对事物的一个模糊定义,它主要对那些有共性功能但具体实现不同的对象进行抽象,提高代码的复用性和简洁性 ...