ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:27.11KB ,
资源ID:5707656      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5707656.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java面向对象基础入门.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java面向对象基础入门.docx

1、java面向对象基础入门1 面向对象思想引入 前面我们讲过数组,当有多个数组都需要遍历时,我们可以将遍历的代码封装到方法中,需要遍历时,就调用相应的方法即可,提高代码的复用性。在对数组遍历的基础上继续增加需求,比如获取最值,数值逆序等,同样需要将这些功能封装到相应的方法中。这样继续封装会发现方法越来越多,于是就想能不能将这些方法继续进行封装呢?通过前面的讲解我们知道类是可以存放方法的,所以,我们就考虑使用类封装来这多个方法,将来再做数组的操作时,不用去找具体的方法,先找到这个类,然后使用这个类中的方法。这就是面向对象思想的编程方式。 我们来回想一下,这几天我们完成一个需求的步骤:首先是搞清楚我

2、们要做什么,然后在分析怎么做,最后我们再代码体现。一步一步去实现,而具体的每一步都需要我们去实现和操作。这些步骤相互调用和协作,完成我们的需求。 在上面的每一个具体步骤中我们都是参与者,并且需要面对具体的每一个步骤和过程,这就是面向过程最直接的体现。 那么什么是面向过程开发呢? 面向过程开发,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。 面向过程的代表语言:C语言 当需求单一,或者简单时,我们一步一步去操作没问题,并且效率也挺高。可随着需求的更改,功能的增多,发现需要面对每一个步骤很麻烦了,这时就开始思索,能不能把这些步骤和功能在进行封装

3、,封装时根据不同的功能,进行不同的封装,功能类似的封装在一起。这样结构就清晰了很多。用的时候,找到对应的类就可以了。这就是面向对象的思想。接下来我们看看面向对象到底是什么? 面向对象思想概述 面向对象是基于面向过程的编程思想 面向对象思想特点 是一种更符合我们思想习惯的思想 可以将复杂的事情简单化 将我们从执行者变成了指挥者 角色发生了转换 2 面向对象思想举例 面向对象思想举例 买电脑 吃饭 洗衣服 万事万物皆对象 面向过程思想和面向对象思想的代码举例 把大象装进冰箱 1:在用面向对象思想体现的时候,给出一个三句话使用规则,让我们更符合面向对象思想 A:首先分析有那些类 B:接着分析每个类应

4、该有什么 C:最后分析类与类的关系 面向对象开发 就是不断的创建对象,使用对象,指挥对象做事情。 面向对象设计 其实就是在管理和维护对象之间的关系。 面向对象特征 封装(encapsulation) 继承(inheritance) 多态(polymorphism)3 类与对象关系 我们学习编程语言,就是为了模拟现实世界的事物,实现信息化。比如:去超市买东西的计费系统,去银行办业务的系统。 我们如何表示一个现实世界事物呢: 属性 就是该事物的描述信息 行为 就是该事物能够做什么 举例:学生事物 我们学习的Java语言最基本单位是类,所以,我们就应该把事物用一个类来体现。 类与对象关系 类:是一组

5、相关的属性和行为的集合 对象:是该类事物的具体体现 举例: 类 学生 对象 班长就是一个对象 类:是一组相关的属性和行为的集合 对象:是该类事物的具体体现 举例: 类 学生 对象 班长就是一个对象 类与对象的关系如图 1:图纸就是类 2:每一个汽车就是一个个的对象4 类的定义 现实世界的事物 属性 人的身高,体重等 行为 人可以学习,吃饭等 Java中用class描述事物也是如此 成员变量 就是事物的属性 成员方法 就是事物的行为 定义类其实就是定义类的成员(成员变量和成员方法) 现实世界的事物 属性 人的身高,体重等 行为 人可以学习,吃饭等 Java中用class描述事物也是如此 成员变量

6、 就是事物的属性 成员方法 就是事物的行为 定义类其实就是定义类的成员(成员变量和成员方法) 学生类(讲解) 如何定义 按照事物到类的过程一步步分析 如何使用 创建对象: 类名 对象名 = new 类名(); 对象名.成员变量 对象名.成员方法 手机类(学生练习)对象内存图 1个对象的内存图 一个对象的基本初始化过程 2个对象的内存图 方法的共用 3个对象的内存图 其中有两个引用指向同一个对象 5 成员变量和局部变量的区别 在类中的位置不同 成员变量 类中方法外 局部变量 方法内或者方法声明上 在内存中的位置不同 成员变量 堆内存 局部变量 栈内存 生命周期不同 成员变量 随着对象的存在而存在

7、,随着对象的消失而消失 局部变量 随着方法的调用而存在,随着方法的调用完毕而消失 初始化值不同 成员变量 有默认的初始化值 局部变量 没有默认的初始化值,必须先定义,赋值,才能使用。 1:成员变量和名称可以不可和局部变量一样呢? 可以,但是使用的时候要注意,先找小范围,再找大范围。形式参数问题 基本类型作为形式参数 引用类型作为形式参数 class Demo public int getSum(int a,int b) return a + b; class Test public static void main(String args) Demo d = new Demo(); Syste

8、m.out.println(d.getSum(10,20); 讲解的时候,先说我们去吃饭,调用服务员的记菜功能,然后服务员调用厨师的做菜功能。 完毕后,厨师调用服务员的端菜功能,最后,我们吃就OK了。 class Student public void show() System.out.println(“show”); class StudentDemo /如果参数是一个类名,那么实际需要的是一个具体的对象 public void method(Student s) s.show(); class StudentTest public static void main(String args

9、) StudentDemo sd = new StudentDemo(); Student s = new Student(); sd.method(s); /多个匿名对象的写法 new StudentDemo.method(new Student(); 6 匿名对象 匿名对象:就是没有名字的对象。 是对象的一种简化表示形式 匿名对象的两种使用情况 对象调用方法仅仅一次的时候 作为实际参数传递 1:new Student().show(); 2:new StudentTest().method(new StudentDemo(); 7 封装概述 封装概述 是指隐藏对象的属性和实现细节,仅对外提

10、供公共访问方式。 好处: 隐藏实现细节,提供公共的访问方式 提高了代码的复用性 提高安全性。 封装原则: 将不需要对外提供的内容都隐藏起来。 把属性隐藏,提供公共方法对其访问。 1:通过学生案例,给年龄赋值为负数引出数据问题。然后通过private解决这个问题。最后说其实这就是封装。8 private关键字 private关键字: 是一个权限修饰符。 可以修饰成员(成员变量和成员方法) 被private修饰的成员只在本类中才能访问。 private最常见的应用: 把成员变量用private修饰 提供对应的getXxx()/setXxx()方法 一个标准的案例的使用 1:这个时候写例子,局部变量

11、名称不要和成员变量名称一致 2:private仅仅是封装的一种体现,类和方法其实也是封装体9 this关键字 this:代表所在类的对象引用 记住: 方法被哪个对象调用,this就代表那个对象 什么时候使用this呢? 局部变量隐藏成员变量 其他用法后面和super一起讲解 1:加入private后的标准案例有个小问题,就是见名知意的问题 而一旦我们把局部变量名称和成员变量名称变成一致以后,就发生出问题了。 2:最终引出了通过this关键字解决该问题还可以同时画出内存图 10 构造方法 构造方法作用概述 给对象的数据进行初始化 构造方法格式 方法名与类名相同 没有返回值类型,连void都没有

12、没有具体的返回值 构造方法注意事项 如果你不提供构造方法,系统会给出默认构造方法 如果你提供了构造方法,系统将不再提供 构造方法也是可以重载的1:虽然构造方法没有返回值,但是也可以写一个return,在最后写return;这种做法在任何void类型的方法最后都是没有问题的。 2:演示一个案例,构造方法的作用给成员变量赋值 11 类的成员方法 成员方法其实就是我们前面讲过的方法 方法具体划分: 根据返回值 有明确返回值方法 返回void类型的方法 根据形式参数 无参方法 带参方法 12 一个基本类的标准代码写法 类 成员变量 构造方法 无参构造方法 带参构造方法 成员方法 getXxx() se

13、tXxx() 给成员变量赋值的方式 无参构造方法+setXxx() 带参构造方法 标准的学生类(讲解) 感觉调用getXxx()输出学生信息比较麻烦,加入一个方法show(),输出学生对象的成员变量信息。 标准的手机类(练习) 注意 目前的代码是为了练习的一种标准格式 给成员变量赋值有两种方式,可以只写一种 如果不单独获取数据,可以不写getXxx()方法 13 类的初始化过程 Student s = new Student();在内存中做了哪些事情? 加载Student.class文件进内存 在栈内存为s开辟空间 在堆内存为学生对象开辟空间 对学生对象的成员变量进行默认初始化 对学生对象的成

14、员变量进行显示初始化 通过构造方法对学生对象的成员变量赋值 学生对象初始化完毕,把对象地址赋值给s变量 14 static关键字 可以修饰成员变量和成员方法 static关键字特点 随着类的加载而加载 优先于对象存在 被类的所有对象共享 这也是我们判断是否使用静态关键字的条件 可以通过类名调用 static关键字注意事项 在静态方法中是没有this关键字的 静态方法只能访问静态的成员变量和静态的成员方法 1:通过一个案例引入static关键字。 人类:Person。每个人都有国籍,中国。 2:静态关键字的特点 3:静态关键字的注意事项 必须通过案例演示。 15 静态变量和成员变量的区别 所属不

15、同 静态变量属于类,所以也称为为类变量 成员变量属于对象,所以也称为实例变量(对象变量) 内存中位置不同 静态变量存储于方法区的静态区 成员变量存储于堆内存 内存出现时间不同 静态变量随着类的加载而加载,随着类的消失而消失 成员变量随着对象的创建而存在,随着对象的消失而消失 调用不同 静态变量可以通过类名调用,也可以通过对象调用 成员变量只能通过对象名调用 16 main方法是静态的 public static void main(String args) public 被jvm调用,访问权限足够大。 static 被jvm调用,不用创建对象,直接类名访问 void被jvm调用,不需要给jvm

16、返回值 main 一个通用的名称,虽然不是关键字,但是被jvm识别 String args 以前用于接收键盘录入的 演示案例 17 制作帮助文档 制作工具类 ArrayTools 制作帮助文档(API) javadoc -d 目录 -author -version ArrayTool.java 如何使用帮助文档 找到文档,打开文档 点击显示,找到索引,出现输入框 你应该知道你找谁?举例:Scanner 看这个类的结构(需不需要导包) 成员变量 字段 构造方法 构造方法 成员方法 方法 看这个类的说 看构造方法 看成员方法 然后使用 A:找到文档,打开文档。 B:点击左上角的显示变成隐藏,然后点

17、击索引 C:你应该知道你要找谁?Math 所以,你就在那个输入框里面输入Math,然后回车,再回车。 D:看这个类的结构 java.lang 类 Math java.util 类 Scanner 如果是java.lang包下的类,是可以直接使用的。(Math) 否则,就需要导包才能使用。(Scanner) E:看看对这个类的说明。 F:看构造方法 名称:字段 - 成员变量 - 属性。 a:有构造方法,那么,就通过构造方法创建对象使用。 b:没有构造方法,那么,这个类的成员一般都是静态。 通过类名调用。 G:按照正常的操作使用方法。 左边: 是否静态:如果静态修饰,那么可以通过类名调用。否则,就

18、必须创建对象调用。 是否有明确返回值:如果是void类型,就直接调用即可。否则,就可以输出或者赋值。 右边: 看方法名:不要写错了。 看参数:看参数类型及个数。 18 通过API学习Math类 Math类概述 Math包含用于执行基本数学运算的方法 Math类特点 没有构造方法,因为成员都是静态的 Math类讲解一个方法 获取随机数 获取1-100之间的随机数 案例: 猜数字小游戏19 代码块 代码块 在Java中,使用括起来的代码被称为代码块,根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解)。 局部代码块 在方法中出现;限定变量生命周期,及早释放,

19、提高内存利用率 构造代码块 在类中方法外出现;多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行 静态代码块 在类中方法外出现,加了static修饰 在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且值执行一次。 1:分别讲解每种代码块的格式和特点 注意:在讲解构造代码块以及静态代码块的时候,一定要在构造前后都演示一下,否则同学会认为是位置先后导致的。 2:面试题及代码演示: 静态代码块,构造代码块,静态方法的执行顺序。 static System.out.println(“静态代码块”); System.out.println(“构造代码块”); public Student() System.out.println(“构造方法”);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1