Java中类的教案_【课程教案】第5章 类与对象

课程教案

章节名称

第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(参数列表) {

方法体

}

....//其他方法

}

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、类变量的访问形式:

在本类中直接访问:count

通过类名访问:User.count

通过类的一个对象访问,如:x1.count

3、给类变量赋初值---用静态初始化代码块 。

例如:static { count=100; }

4、程序分析

分析以下程序的执行结果?(着重讲解静态变量在程序执行期间的变化)

class test {

static int x=5;

static { x+=10; }

public static void

main(String args[]) {

System.out.println("x="+x);

}

static { x=x-5; }

}

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页)

2、作业:4(1)、4(2)(89页)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值