大数据笔记2019.5.10
1.面向过程:
- 强调的是过程,所有的事情都需要自己完成
2.面向对象:
是一种更符合我们自己思想习惯的思想(懒人思想,我把事情自己不做,交给别人去做)
可以将复杂的事情简单化(对使用者来说简单了,对象里面还是很复杂的)
将我们从执行者变成了指挥者角色发生了转换
定义:首先根据客户的需求抽象出业务逻辑对象;然后对需求进行独立的业务模块;之后进行设计业务逻辑吗,利用封装、继承、多态、抽象的思想实现实际业务需求;最后通过整合各个模块,达到高内聚,低耦合的效果,从而满足客户的需求。
类
类定义了一种抽象数据类型
类不但定义了抽象数据类型的组成(成员变量),同时还定义了可以对该类实行实施单位操作(方法)。
定义类的成员变量
类的定义包括“成员变量”的定义和“方法”的定义,其中“成员变量”用于描述该类型对象共同的数据结构
Java语言中,类的成员变量的定义可以使用如下语法:
成员变量的类型 | 默认初始值 |
---|---|
数值类型(byte、short、int、long、float、double) | 0 |
boolean型 | false |
char型 | /u0000 |
引用类型 | null |
类中除了定义成员变量,还可以定义方法,用于描述对象的行为,封装对象的功能
Java语言中,可以按照如下方式定义类中的方法:
class 类名{
修饰词 返回值类型 方法名称([参数列表]){
方法体…
}
…
}
成员变量与局部变量
1.定义位置:成员变量定义在类中,局部变量定义在方法中;
2.作用域:成员变量作用在整个类中,局部变量只能作用在它的方法中或者语句中使用;
3.内存中:成员变量存储在堆内存中,并且在堆内存中自动赋予初始值
局部变量存储在栈内存中,不会自赋值;
4.生命周期:成员变量在对象创建的时候存储在堆内存中,在对象被回收的时候销毁,局部变量爱方法或者是语句中执行的时候被创建,方法或者是语句执行完之后被销毁
例如:
public static void main(String[] args) {// TODO Auto-generated method stubint x = 5;{x = 6;int y = 7;System.out.println(x);System.out.println(y);}System.out.println(x);
}
方法的重载
方法的签名包含如下两个方面:方法名和参数列表
一个类中,不可以有两个方法的签名完全相同,即一个类中不可以有两个方法的方法名和参数列表都完全一样
如果一个类的两个方法只是方法名相同而参数列表不同,是可以的
构造方法
- 构造方法是在类中定义的规则,不同于其他的方法,构造方法的定义有如下两点规则:
- 构造方法的名称必须与类名相同
- 构造方法没有返回值,但也不能写void
- 语法:
[访问修饰符] 类名(){
//构造方法体
}
this关键字
this关键字用在方法体中,用于指向调用该方法的当前对象;;简单的说;哪个对象调用方法,this指向哪个对象。严格来讲在方法中需要通过this关键字指明当前对象。
public vod drop() {thid.row ++;
}
为了方便起见,在没有歧义的情况下可以省略this:
public vod drop() {row ++;
}
extends关键字
- 通过extends关键字可以实现类的继承
- 子类(Sub class)可以继承父类(Super class)的成员变量及成员方法,同时也可以定义自己的成员变量和成员方法
- Java语言不支持多重继承,一个类只能继承一个父类,但一个父类可以有多个子类
重写与重载
重载与重写是完全不同的语法现象,区别如下:
重载是指在一个类中定义多个方法名相同但参数不同的方法,在编译时,根据参数的个数和类型来决定绑定哪个方法
重写是指在子类中定义和父类完全相同的方法,在程序运行时,根据对象的类型不同(而不是引用类型)而调用不同的版本。
重载遵循“编译期绑定”,即在编译时根据参数变量的类型判断应该调用哪个方法;
重写遵循所谓“运行期绑定”,即在运行时根据引用变量指向的实际对象类型调用方法;
封装
对外提供可调用的、稳定的功能
封装容易变化的额、具体的实现细节,外界不可访问,这样的意义在于:
降低代码出错的可能性,便于维护
当内部的实现细节改变时,只要保证对外的功能定义不变,其他模块就不会因此而受到牵连
大数据笔记2019.5.10相关推荐
- 大数据笔记2019.5.8
while循环语句 基本格式 while(判断条件语句){ 循环体语句: } 扩展格式 初始化语句 while(判断条件语句){ 循环体语句: 控制条件语句: } 例如:猜数字游戏,部分源码如下( ...
- 大数据笔记2019.5.7
++和–运算 单独操作时,++和–不管放在前面还是后面,结果是一样的 参与运算操作时: 如果++或–在变量的后面是,先拿变量参与运算操作,后做++或– 如果++或–在变量前面时,变量先做++或–,后那 ...
- 大数据笔记2019.5.9 Java中方法的使用
方法: 1.方法的概念:(函数/过程) 封装了一段特定的业务逻辑功能 尽可能的独立,一个方法只让干一件事: 方法可以被反复的重新的调用 减少代码的重复,有利于代码的维护,减少团队开发的成本提高开发的效 ...
- 大数据笔记2019.5.11
修饰符 修饰符 本类 同一个包中的类 子类 其他类 public 可以访问 可以访问 可以访问 可以访问 protected 可以访问 可以访问 可以访问 不能访问 默认 可以访问 可以访问 不能访问 ...
- 大数据笔记2019.5.6
跨平台 平台:操作系统 跨平台:Java可以运行中任意的操作系统上,一次编写到处运行 原理:实现跨平台需要依赖虚拟机--Java虚拟机 注释 A:什么是注释? 用来解释说明程序的文字 B:Java ...
- 腾讯大数据回答2019:鹅厂开源先锋,日均计算量超30万亿,全力打破数据墙
乾明 发自 腾讯汇 量子位 报道 | 公众号 QbitAI 开源,开源,开源. 这就是腾讯2019年技术领域最直观的变化. 最新代表事件,来自于腾讯首个开源的AI项目Angel,完成3.0版本进化后 ...
- 自学it18大数据笔记-第三阶段Spark-day04——会持续更新……
笔记为自学时随手记录,如有错误,欢迎指正,不胜感激!现已广州转移至上海,欢迎小伙伴们加qq或微博沟通交流(QQ,微博和博客同名) 笔记分享:自学it18大数据笔记-第三阶段Spark-day04--会 ...
- 好程序员大数据笔记之:Hadoop集群搭建
好程序员大数据笔记之:Hadoop集群搭建在学习大数据的过程中,我们接触了很多关于Hadoop的理论和操作性的知识点,尤其在近期学习的Hadoop集群的搭建问题上,小细节,小难点拼频频出现,所以,今天 ...
- 自学it18大数据笔记-第三阶段Scala-day06——会持续更新……
笔记为自学时随手记录,如有错误,欢迎指正,不胜感激!现已广州转移至上海,欢迎小伙伴们加qq或微博沟通交流(QQ,微博和博客同名) 笔记分享:自学it18大数据笔记-第三阶段Scala-day06--会 ...
最新文章
- 人体肺活量测试软件,人体肺活量怎么测试
- NetworkX系列教程(10)-算法之三:关键路径问题
- Kafka为什么速度那么快?
- 《终身成长》读书笔记(part2)--失败从一种行为,转变为一种身份
- css 深度选择器 ,CSS的coped私有作用域和深度选择器
- VScode Remote 远程开发与调试(转)
- 7-5-无向图生成树-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版
- 【云笔记搭建】Visual Code + Github仓库 + Git
- dropdownlist三级联动怎么实现_简单三步,轻松搞定一级、二级、三级下拉菜单
- c语言二级考试报名费,c语言二级考试(计算机二级c语言报名)
- npm 下载为什么很慢?解决方案来了
- 引领智慧教育,联想云桌面如何打造教育“一朵云”?
- Word2016怎么插入页眉页脚?Word2016页眉页脚添加教程
- 汇编语言--在屏幕上显示名字
- 贵州大数据声势已起 如何引进人才?
- 蓝桥杯0027 通信密码
- 合并拆分wim文件命令imagex
- 导出单帧图片以及时间线介绍(PR)
- 为什么说千万别用微软 IE 下载 Chrome?
- 布袋除尘器过滤风速多少_布袋除尘器过滤风速一般多大
热门文章
- 【 MATLAB 】模拟信号采样及离散时间傅里叶变换(DTFT)案例分析
- 八、pyqt5按钮类控件——QPushButton、QRadioButton、QCheckBox
- node+express+MongoDB实现小商城服务端
- 理解Docker(5):Docker 网络
- 源码安装vsftp3.0.3
- 《HFSS电磁仿真设计从入门到精通》一第2章 入门实例——T形波导的内场分析和优化设计...
- Spark源码分析之九:内存管理模型
- 自编网页是处理url时服务器出错,【上海校区】自编教材《web标准网页制作实例教程》连载...
- java 流 下载文件_java 流实现文件下载问题
- 3.6.1 局域网的基本概念和体系结构