课程教案
章节名称
第5章 类与对象
课程类型
理论课□ 讨论课□ 习题课□ 实验课□ 上机课□ 技能课□ 其他□
授课时间
教学进度
学生考勤
应到: 实到:
请假: 旷课:
教学方法
多媒体+板书
目的要求:
熟悉类定义的格式;掌握对象的创建和使用;掌握static修饰符的作用,类成员和对象成员的使用差异;熟悉不同变量的作用域;熟悉this的含义与使用形式;了解包的定义与使用。
重点难点:
重点:类定义的格式;对象的创建和使用;static修饰符的作用。
难点:类成员和对象成员的使用差异;不同变量的作用域;包的定义与使用。
课后作业:
P89:4(1)、4(2)
作业批改记录:
教学后记:
教学过程:
一、复习上节课内容
上次课主要介绍了程序设计语言普遍涉及的一般性知识,是本次课以及以后课程的基础知识。从本次课开始将要逐一讲解java面向对象编程的相关概念。
二、引入新课
本次课将介绍java面向对象编程的相关概念---类与对象的概念及关系,目的是让大家学会类的定义、对象的创建和使用。
第5章 类与对象
Java语言是一个面向对象的编程语言,类是组成Java程序的基本要素,它封装了一类对象的属性和方法。对象是用类来实现的,类是用于创建对象的模板,所有的对象都是类的实例。
5.1 类的定义
1、类定义的语法格式
[修饰符] class 类名 [extends 父类名] [implements 接口列表]
{ //类体
修饰类型 属性1 [= 初值1] ;
修饰 类型 属性2 [= 初值2] ;
//...
其他属性
修饰 类型 方法1(参数列表) {
方法体
}
..https://blog.51cto.com//其他方法
}
2、应用举例:例5-1 表示点的Point类。(见教材73页,重点讲解类的定义过程)
5.2对象的创建与引用
5.2.1 创建对象及访问对象成员
1、声明对象的格式:类名 对象名表;
例如:Point p1, p2;
2、建立对象的格式:引用变量名= new 构造方法();
也可以在声明对象的同时建立对象 ,格式为:类名引用变量名 = new 构造方法() ;
3、通过引用变量访问对象成员
引用变量名.属性
引用变量名.方法名(实参表)
4、应用举例。在Point类中增加一个main方法,对Point类的对象的声明、创建、成员的引用进行测试。(见教材74页)
5.2.2 对象的初始化和构造方法
在创建对象时,要给对象的属性成员分配内存空间,同时进行初始化。
1、如果定义属性成员时没有指定初值,则系统自动指定初值。
2、在定义属性成员时也可以指定初值。
public class Point
{
private int
x=10;
……
3、指定初值的另一种办法是通过初始化块来设置对象的初值。
4、更为常用初始化方法是通过构造方法。
public Point(int x1, int y1) {
x =
x1; y = y1; }
5、构造方法的特点:
(1)构造方法的名称必须与类名同名;
(2)构造方法没有返回类型;
(3)通常一个类可提供多个构造方法,这些方法的参数不同。在创建对象时,系统自动调用参数匹配的构造方法为对象初始化。
注意:如果一个类未指定构造方法,则系统自动提供的无参构造方法,但如果自定义了构造方法,则系统不再提供无参构造方法。无参构造方法形式如下: public Person() { }
5.3 变量的作用域
变量的作用域也称变量的有效范围,它是程序的一个区域,变量在其作用域内可以通过它的名字来引用。
作用域也决定系统什么时候为变量创建和清除内存。根据变量在程序声明的位置,可以将变量分为4类情形:
成员变量;局部变量及方法参数;语句块中的变量;异常处理参数
1、 成员变量
成员变量可添加修饰符,包括访问权限修饰符public、private、protected和非访问权限修饰符static、final、native等。
如果没有给对象属性赋初值,则对象属性的初始值由相应数据类型的默认值决定,如数值型数据的默认值为0,boolean的默认值为false,字符串的默认值为null。
成员变量的作用域是在类的范围。
2、 局部变量
(1)方法体中的局部变量
(2)在语句块中定义的变量
3、举例说明。(见教材76页例5-2。)
5.4 类变量与静态方法
5.4.1 类变量
1、类变量的含义:用static修饰的成员变量称为类变量或静态变量。
2、类变量的访问形式:
在本类中直接访问:countjava程序基础教案
通过类名访问:User.count
通过类的一个对象访问,如:x1.count
3、给类变量赋初值---用静态初始化代码块 。
例如:static { count=100; }
4、程序分析
分析以下程序的执行结果?(着重讲解静态变量在程序执行期间的变化)
5、类空间与对象空间的区别
【例5-3】 静态空间与对象空间的对比。(见教材78页)
5.4.2 静态方法
用 static修饰的方法称为静态方法,也叫类方法。
在static方法中只能处理类变量,也可访问其它static方法,但绝不能直接访问任何归属对象空间的变量或方法 。
例5-4:求10~100之间的所有素数(见教材80页)
【思考】如果将prime方法设计为非静态方法,则如何在main方法中调用?
5.5 理解 this
this ---出现在类的实例方法或构造方法中,用来代表使用该方法的对象
this ---出现在类的实例方法或构造方法中,用来代表使用该方法的对象 。
1、this的用途:
(1)把当前对象引用作为参数传递给另一个方法。如:obj.f(this)
(2)调用当前对象的其它方法或访问当前对象的实例变量。如: this.g();
(3)使用this可以区分当前作用域中同名的不同变量。
(4)一个构造方法中调用另一个构造方法。
2、应用举例
例5-5: Point类的再设计(见教材80页)
5.6 使用包组织类
1、包的组织
(1)采用分层结构;
(2)同一包中不能有两个同名的类;
(3)在缺省情况下,系统会为每一个源文件创建一个无名包 。
2、建立包
package语句放在源文件的第一行。
创建包就是在指定目录路径下创建一个子文件夹 ,这个包中所有类的字节码文件将存放在该文件夹下。
3、对定义包程序的编译
4、引用其它包的类的方法
(1) 在引用类时使用包名作前缀。
例 :new
java.util.Date()
(2) 用import语句加载需要使用的类。
例:import
java.util.Date;
然后在程序中可以直接通过类名创建对象
如:new
Date();
(3) 用import语句加载整个包---用“*”号代替类名位置。
它将加载包中的所有的类。例如:import
java.util.*;
例5-6:编写一个代表圆的类,其中包含圆心(用Point表示)和半径两个属性,利用本章Point类提供的方法,求两个圆心间的距离,编写一个静态方法判断两个圆是否外切。用两个实际圆验证程序。(见教材83页)
三、本节课小结
四、作业与练习
1、练习:1、2、3、4题(83页--89页)
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/3845.html