- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CoreJava Note Advance --------课堂笔记
By ASD0604 All Student
参考CoreJava Note
JAVA DAY1
面向对象主要针对面向过程。面向过程的基本单元是函数。
什么是对象:EVERYTHING IS OBJECT(万物皆对象)
所有的事物都有两个方面:
有什么(属性):用来描述对象。
能够做什么(方法):告诉外界对象有那些功能。
后者以前者为基础。
大的对象的属性也可以是一个对象。
为什么要使用面向对象:
首先,面向对象符合人类看待事物的一般规律。
对象的方法的实现细节是屏蔽的,只有对象方法的实现者了解细节。
方法的定义非常重要。方法有参数,也可能有返回值。
注意区分:对象(本身)、对象的实现者、对象的调用者。
分析对象主要从方法开始。
我们通过类来看待对象,类是对象的抽象。
( 比如说 :动物可以有狗、猫等,动物就是一个类,是不存在的,是一种高度抽象产物,而猫、狗则是动物的对象,是一种特定的动物 )
其次,采用面向对象方法可以使系统各部分各司其职、各尽所能。
对于对象的要求:高内聚、低耦合,这样容易拼装成为一个系统。
所谓高内聚就是独立完成某项任务的能力很高 ,而低耦合正好相反,完成任务需要别的对象帮忙,内聚和耦合是一对矛盾的时候,内聚高则必然耦合低 相反耦合高内聚自然就低,面向对象希望各司其职各尽所能,所以当然要高内聚,因为这样会做到当其他对象发生变化时对自己的影响会最小。从项目的代码来看就是因为需求的改变而导致的局部的改变不会对整体的代码产生太大影响(相反则是一点的改动就会引起代码全部作废,那么扩展性就太差了)。而从更远的角度看就是写好的类可以复用,因这这些写好的类不需要依靠别的类的对象来辅助完成其方法,那么这些类在哪里都可以放心的使用。可复用性是OOP的基础。在用面向对象思想开发的过程中,可以复用对象就进行复用,如无法进行复用则开发新的对象。开发过程是用对个简单的对象的多个简单的方法,来实现复杂的功能 。
比较面向过程的思想和面向对象的思想:
面向过程的思想:由过程、步骤、函数组成,以过程为核心,是先有算法,后有数据结构。
面向对象的思想:以对象为中心,先开发类,得到对象,通过对象之间相互通信实现功能,是先有数据结构,然后再有算法。
比如说:有一个舞台的总控制师 ,要指导一个演出。。。
面向过程思想:(演出开幕)控制师想到要开灯,就自己去跑去开灯,再跑到幕后把幕拉开,然后自己去找了个话筒,自己上台去主持,然后自己去表演每一个节目…思想是想到该干什么然后去做一件事情,而每一件事情就是根据算法需求来写好函数,自己去使用这些函数。
面对对象的思想则是:控制师去找一个专人来负责灯光效果,一个工人来安排杂物,请一个人来当主持人,还有演员等等。。。思想是用一个对象来完成各自的事情(各司其职,各尽其能),主控制师则去调度这些对象来完成整个演出。
一些简单的语法问题:
默认问题 int = 0 , float = 0.0f , double 0.0d , long 0l , char = ‘/u0000’, String=null , boolean=false
精确度问题 System.out.println( 2.0 – 1.1 ) ; // 0.89999999999999999999… 说明浮点数相减并不准确
类型转换问题 byte b1 = 1 ; byte b2 = 2 ; byte b3 = b1+b2 // 应该写成 byte b3 = (byte)(b1+b2) ;
优先问题 System.out.println( “123” + 4*5 ) ; // 12320
移位问题 -81 和 -81 (高位补符号位 高位补0 )
switch(类型) 类型可以是 int , short , byte , char , enum 这五个类型(enum必须是JDK 5.0 )
String不是基本类型,是一个类,每一个字符串都是一个对象。
一个类是一个新的数据类型。
在面向对象编程中,除了简单数据类型,就是对象类型。
定义类的格式:
class Student{
代码
}
注意类名中单词的首字母大写。
实例变量:定义在类中但在任何方法之外。(New出来的均有初值)
局部变量:定义在方法之中的变量。
局部变量要先赋值,再进行运算,而实例变量均已经赋初值。这是局部变量和实例变量的一大区别。
实例变量的对象赋值为null。
局部变量不允许范围内定义两个同名变量。实例变量的作用域在本类中完全有效,当被其他的类调用的时候也可能有效。
实例变量和局部变量允许命名冲突。
书写方法的格式:
修饰符 返回值
文档评论(0)