java面向对象基础入门Word下载.docx

上传人:b****5 文档编号:18694733 上传时间:2022-12-31 格式:DOCX 页数:13 大小:27.11KB
下载 相关 举报
java面向对象基础入门Word下载.docx_第1页
第1页 / 共13页
java面向对象基础入门Word下载.docx_第2页
第2页 / 共13页
java面向对象基础入门Word下载.docx_第3页
第3页 / 共13页
java面向对象基础入门Word下载.docx_第4页
第4页 / 共13页
java面向对象基础入门Word下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

java面向对象基础入门Word下载.docx

《java面向对象基础入门Word下载.docx》由会员分享,可在线阅读,更多相关《java面向对象基础入门Word下载.docx(13页珍藏版)》请在冰豆网上搜索。

java面向对象基础入门Word下载.docx

•把大象装进冰箱

●1:

在用面向对象思想体现的时候,给出一个三句话使用规则,让我们更符合面向对象思想

●A:

首先分析有那些类

●B:

接着分析每个类应该有什么

●C:

最后分析类与类的关系

●面向对象开发

•就是不断的创建对象,使用对象,指挥对象做事情。

●面向对象设计

•其实就是在管理和维护对象之间的关系。

●面向对象特征

•封装(encapsulation)

•继承(inheritance)

•多态(polymorphism)

3类与对象关系

●我们学习编程语言,就是为了模拟现实世界的事物,实现信息化。

比如:

去超市买东西的计费系统,去银行办业务的系统。

●我们如何表示一个现实世界事物呢:

•属性就是该事物的描述信息

•行为就是该事物能够做什么

•举例:

学生事物

●我们学习的Java语言最基本单位是类,所以,我们就应该把事物用一个类来体现。

类与对象关系

●类:

是一组相关的属性和行为的集合

●对象:

是该类事物的具体体现

●举例:

•类学生

•对象班长就是一个对象

●类与对象的关系如图

1:

图纸就是类

2:

每一个汽车就是一个个的对象

4类的定义

●现实世界的事物

•属性人的身高,体重等

•行为人可以学习,吃饭等

•Java中用class描述事物也是如此

•成员变量就是事物的属性

•成员方法就是事物的行为

●定义类其实就是定义类的成员(成员变量和成员方法)

●学生类(讲解)

•如何定义

●按照事物到类的过程一步步分析

•如何使用

●创建对象:

●类名对象名=new类名();

●对象名.成员变量

●对象名.成员方法

●手机类(学生练习)

对象内存图

●1个对象的内存图

•一个对象的基本初始化过程

●2个对象的内存图

•方法的共用

●3个对象的内存图

•其中有两个引用指向同一个对象

5成员变量和局部变量的区别

●在类中的位置不同

•成员变量类中方法外

•局部变量方法内或者方法声明上

●在内存中的位置不同

•成员变量堆内存

•局部变量栈内存

●生命周期不同

•成员变量随着对象的存在而存在,随着对象的消失而消失

•局部变量随着方法的调用而存在,随着方法的调用完毕而消失

●初始化值不同

•成员变量有默认的初始化值

•局部变量没有默认的初始化值,必须先定义,赋值,才能使用。

成员变量和名称可以不可和局部变量一样呢?

●可以,但是使用的时候要注意,先找小范围,再找大范围。

形式参数问题

●基本类型作为形式参数

●引用类型作为形式参数

●classDemo{

●publicintgetSum(inta,intb){

●returna+b;

●}

●}

●classTest{

●publicstaticvoidmain(String[]args){

●Demod=newDemo();

●System.out.println(d.getSum(10,20));

●讲解的时候,先说我们去吃饭,调用服务员的记菜功能,然后服务员调用厨师的做菜功能。

●完毕后,厨师调用服务员的端菜功能,最后,我们吃就OK了。

●classStudent{

●publicvoidshow(){

●System.out.println(“show”);

●classStudentDemo{

●//如果参数是一个类名,那么实际需要的是一个具体的对象

●publicvoidmethod(Students){

●s.show();

●}

●classStudentTest{

●StudentDemosd=newStudentDemo();

●Students=newStudent();

●sd.method(s);

●//多个匿名对象的写法

●newStudentDemo.method(newStudent());

6匿名对象

●匿名对象:

就是没有名字的对象。

•是对象的一种简化表示形式

●匿名对象的两种使用情况

•对象调用方法仅仅一次的时候

•作为实际参数传递

newStudent().show();

●2:

newStudentTest().method(newStudentDemo());

7封装概述

●封装概述

•是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。

●好处:

•隐藏实现细节,提供公共的访问方式

•提高了代码的复用性

•提高安全性。

●封装原则:

•将不需要对外提供的内容都隐藏起来。

•把属性隐藏,提供公共方法对其访问。

通过学生案例,给年龄赋值为负数引出数据问题。

然后通过private解决这个问题。

最后说其实这就是封装。

8private关键字

●private关键字:

•是一个权限修饰符。

•可以修饰成员(成员变量和成员方法)

•被private修饰的成员只在本类中才能访问。

•private最常见的应用:

•把成员变量用private修饰

•提供对应的getXxx()/setXxx()方法

•一个标准的案例的使用

这个时候写例子,局部变量名称不要和成员变量名称一致

private仅仅是封装的一种体现,类和方法其实也是封装体

9this关键字

●this:

代表所在类的对象引用

●记住:

•方法被哪个对象调用,this就代表那个对象

●什么时候使用this呢?

•局部变量隐藏成员变量

•其他用法后面和super一起讲解

加入private后的标准案例有个小问题,就是见名知意的问题

●而一旦我们把局部变量名称和成员变量名称变成一致以后,就发生出问题了。

最终引出了通过this关键字解决该问题还可以同时画出内存图

10构造方法

●构造方法作用概述

•给对象的数据进行初始化

●构造方法格式

•方法名与类名相同

•没有返回值类型,连void都没有

•没有具体的返回值

●构造方法注意事项

•如果你不提供构造方法,系统会给出默认构造方法

•如果你提供了构造方法,系统将不再提供

构造方法也是可以重载的

1:

虽然构造方法没有返回值,但是也可以写一个return,在最后写return;

这种做法在任何void类型的方法最后都是没有问题的。

2:

演示一个案例,构造方法的作用给成员变量赋值

11类的成员方法

●成员方法其实就是我们前面讲过的方法

●方法具体划分:

•根据返回值

•有明确返回值方法

•返回void类型的方法

•根据形式参数

•无参方法

•带参方法

12一个基本类的标准代码写法

●类

•成员变量

•构造方法

•无参构造方法

•带参构造方法

•成员方法

•getXxx()

•setXxx()

•给成员变量赋值的方式

•无参构造方法+setXxx()

●标准的学生类(讲解)

•感觉调用getXxx()输出学生信息比较麻烦,加入一个方法show(),输出学生对象的成员变量信息。

●标准的手机类(练习)

●注意

•目前的代码是为了练习的一种标准格式

•给成员变量赋值有两种方式,可以只写一种

•如果不单独获取数据,可以不写getXxx()方法

13类的初始化过程

●Students=newStudent();

在内存中做了哪些事情?

•加载Student.class文件进内存

•在栈内存为s开辟空间

•在堆内存为学生对象开辟空间

•对学生对象的成员变量进行默认初始化

•对学生对象的成员变量进行显示初始化

•通过构造方法对学生对象的成员变量赋值

•学生对象初始化完毕,把对象地址赋值给s变量

14static关键字

●可以修饰成员变量和成员方法

●static关键字特点

●随着类的加载而加载

●优先于对象存在

●被类的所有对象共享

•这也是我们判断是否使用静态关键字的条件

●可以通过类名调用

●static关键字注意事项

●在静态方法中是没有this关键字的

●静态方法只能访问静态的成员变量和静态的成员方法

通过一个案例引入static关键字。

●人类:

Person。

每个人都有国籍,中国。

静态关键字的特点

●3:

静态关键字的注意事项

●必须通过案例演示。

15静态变量和成员变量的区别

●所属不同

•静态变量属于类,所以也称为为类变量

•成员变量属于对象,所以也称为实例变量(对象变量)

●内存中位置不同

•静态变量存储于方法区的静态区

•成员变量存储于堆内存

●内存出现时间不同

•静态变量随着类的加载而加载,随着类的消失而消失

•成员变量随着对象的创建而存在,随着对象的消失而消失

●调用不同

•静态变量可以通过类名调用,也可以通过对象调用

•成员变量只能通过对象名调用

16main方法是静态的

●publicstaticvoidmain(String[]args){}

•public被jvm调用,访问权限足够大。

•static被jvm调用,不用创建对象,直接类名访问

•void被jvm调用,不需要给jvm返回值

•main一个通用的名称,虽然不是关键字,但是被jvm识别

•String[]args以前用于接收键盘录入的

•演示案例

17制作帮助文档

●制作工具类

•ArrayTools

●制作帮助文档(API)

•javadoc-d目录-author-versionArrayTool.java

如何使用帮助文档

●找到文档,打开文档

●点击显示,找到索引,出现输入框

●你应该知道你找谁?

举例:

Scanner

●看这个类的结构(需不需要导包)

•成员变量字段

•构造方法构造方法

•成员方法方法

●看这个类的说

●看构造方法

●看成员方法

●然后使用

●A:

找到文档,打开文档。

●B:

点击左上角的显示变成隐藏,然后点击索引

●C:

你应该知道你要找谁?

Math

●所以,你就在那个输入框里面输入Math,然后回车,再回车。

●D:

看这个类的结构

●java.lang

●类Math

●java.util

●类Scanner

●如果是java.lang包下的类,是可以直接使用的。

(Math)

●否则,就需要导包才能使用。

(Scanner)

●E:

看看对这个类的说明。

●F:

看构造方法

●名称:

字段--成员变量--属性。

●a:

有构造方法,那么,就通过构造方法创建对象使用。

●b:

没有构造方法,那么,这个类的成员一般都是静态。

●通过类名调用。

●G:

按照正常的操作使用方法。

●左边:

●是否静态:

如果静态修饰,那么可以通过类名调用。

否则,就必须创建对象调用。

●是否有明确返回值:

如果是void类型,就直接调用即可。

否则,就可以输出或者赋值。

●右边:

●看方法名:

不要写错了。

●看参数:

看参数类型及个数。

18通过API学习Math类

●Math类概述

•Math包含用于执行基本数学运算的方法

●Math类特点

•没有构造方法,因为成员都是静态的

●Math类讲解一个方法

•获取随机数

•获取1-100之间的随机数

●案例:

猜数字小游戏

19代码块

●代码块

•在Java中,使用{}括起来的代码被称为代码块,根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解)。

•局部代码块

•在方法中出现;

限定变量生命周期,及早释放,提高内存利用率

•构造代码块

•在类中方法外出现;

多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行

•静态代码块在类中方法外出现,加了static修饰

•在类中方法外出现,并加上static修饰;

用于给类进行初始化,在加载的时候就执行,并且值执行一次。

分别讲解每种代码块的格式和特点

●注意:

在讲解构造代码块以及静态代码块的时候,一定要在构造前后都演示一下,否则同学会认为是位置先后导致的。

面试题及代码演示:

●静态代码块,构造代码块,静态方法的执行顺序。

●static{

●System.out.println(“静态代码块”);

●{

●System.out.println(“构造代码块”);

●publicStudent(){

●System.out.println(“构造方法”);

●}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

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

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