欢迎来到天天文库
浏览记录
ID:45756567
大小:125.87 KB
页数:34页
时间:2019-11-17
《Java基础知识费下载》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、而向对象主要针对而向过程。面向过程的基本单元是函数。什么是对象:EVERYTHINGISOBJECT(万物皆对象)所有的事物都有两个方面:有什么(属性):用来描述对象。能够做什么(方法人告诉外界对象有那些功能。后者以前者为基础。大的对彖的屈性也可以是一个对彖。为什么要使用面向对象:首先,面向对象符合人类看待事物的一般规律。对象的方法的实现细节是屏蔽的,只有对象方法的实现者了解细节。方法的定义非常重要。方法冇参数,也可能冇返回值。注意区分:对象(木身)、对象的实现者、对象的调用者。分析对象主要从方法开始。我们通过类來看待对象,类是对象的抽象。其次,采用面向对彖方法可
2、以使系统各部分各司其职、各尽所能。对象之间的耦合性-定要低(比如不同硬盘和不同主板之间的关系)。这样才能使每个对象木身做成最好的。对于对象的要求:高内聚、低耦合,这样容易拼装成为一个系统。实现高内聚就是要最大限度低提高复用性(复用性好是因为高内聚)。可复用性是OOP的基础。比较面向过程的思想和面向对象的思想:而向过程的思想:由过程、步骤、函数组成,以过程为核心;面向对彖的思想:以对彖为中心,先开发类,得到对彖,通过对彖之间相互通信实现功能。面向过程是先有算法,后有数据结构。面向对象是先冇数据结构,然后再冇算法。在用而向对彖思想开发的过程屮,可以复用对彖就进行复用,
3、如无法进行复用则开发新的对彖。开发过程是用对个简单的对彖的多个简单的方法,来实现复杂的功能。从语法上来看,一个类是-个新的数据类型。在面向对象编程中,除了简单数据类型,就是对象类型。定义类的格式:classStudent{代码}注意类名屮单词的首字母大写。实例变量:定义在类中但在任何方法之外。(New岀来的均有初值)局部变量:定义在方法之屮的变量。局部变量要先赋值,再进行运算,而实例变量均已经赋初值。这是局部变量和实例变量的一大区别。实例变量的对象赋值为nulL局部变量不允许范围内定义两个同名变量。实例变量的作用域在本类屮完全冇效,当被其他的类调用的时候也可能有效
4、。实例变量和局部变量允许命名冲突。书写方法的格式:修饰符返回值方法名publicint/voidaddNumber(参数)调用过程屮可能出现的例外throwExcepion方法体{}例:publicintaddNumber(inta,intb){}注:方法名中的参数inta,intb为局部变量类方法中的一类特殊方法:构造方法。构造方法是当用类生成对彖时,系统在生成对彖的过程屮利用的方法。注意:构造方法在生成对彖的时候会被调用,但并不是构造方法生成了对彖。构造方法没有返回值。格式为:public方法名。构造方法的方法名与类名相同。构造方法是在对象生成的过程中口动调用
5、,不可能利用指令去调用。在一个对象的生成周期屮构造方法只用一次,一旦这个对象生成,那么这个构造方法失效。用类来生成对象的语彳小Students=newStudent()o第一个Student表示这是用Student类进行定义。“Student()”表示调用一个无参数的构造方法。如果()中有参数,则系统构造对彖的过程屮调用冇参的方法。此时S称为一个对象变量。Students的存储区域存放的是地址:一个对象在硬盘上占有一个连续地址,首地址赋予s空间。S称为对象Student的引用。注意:在对象变量中存放的是引用(地址);在简单变量中存放的是数值。可以构造多个构造方法,
6、但多个构造方法的参数表一定不同,参数顺序不同即属于不同的构造方法:publicstudent(stringname,inta){}publicstudent(inta,stringname){}为两个不同的构造方法。如果我们未给系统提供-个构造方法,那么系统会自动提供-个为空的构造方法。练习:写一个类,定义一个对象,定义两个构造方法:一个有参,一个无参。(编写一个程序验证对象的传递的值为地址)注意下而这种形式:staticvoidchangename(studentstu){stu.setName“LUCYJ注意生成新的对象与III对象指向无关,生成新对象生命消亡
7、与III对象无关。面向对彖方法的重载(overloading)和覆盖(overriding)0在有些JAVA书籍屮将overriding称为重载,overloading称为过载。Overloading在一个类中口J以定义多个同名方法,各个方法的参数表一定不同。但修饰词可能相同,返回值也可能相同。在程序的编译过程屮根据变量类型来找相应的方法。因此也有人认为overloading是编译时的多态,以后我们还会学到运行时多态。为什么会存在overloading技术呢?作为应对方法的细节。利用类型的差异來影响对方法的调用。吃()可以分为吃肉,吃菜,吃药,在一个类屮可以定义多
8、个吃方法。
此文档下载收益归作者所有