资源描述
. .
西南财经大学天府学院
教 案
任课教师:贾砚池
课程名称:面向对象程序设计(Java)
任课班级: 13级专科计算机01班、13级专科网络01班、13级专科软件01班
授课时间: 2021-2021-2学期
西南财经大学天府学院教务处制
教 案
编号:1
章节
Java SE程序设计与实践的考核方式和Java简介
授课方式
讲授+讨论+上机
教
学
目
的
(1) 掌握本课程的考核方式、即将要学习的内容以及相关的课堂纪律。
(2) 了解课程整体目标。
(3) 了解Java语言。
(4) 了解Java程序的类型。
(5) 理解Java虚拟机〔JVM〕。
(6) 掌握Java程序运行环境的配置,能够独立完成。
(7) 培养学生实际动手能力(自主安装JDK以及配置环境变量)。
(8) 培养学生自主解决问题的能力。
教
学
重
点
(1) 环境变量的配置和编译源文件以及Java程序打包。
教
学
难
点
(1) 环境变量的配置和编译源文件以及Java程序打包。
时间
分配
教 学 过程
Min
10
5
15
5
10
10
15
25
30
60
一、 考核方式(讲授)
(1) 考核分为两局部:
a) 第一局部:平时,占60%;其中,考勤:10%;平时作业或工程:40%,包括2次大型的作业任务,每次任务各占15%,2次及以上小型作业任务,占10%。根据项完成的程度和质量,由教师评分,未交者得零分;平时表现分:10%,包括课堂纪律、上课积极的参与讨论、主动答复以下问题及上台演示和讲解程序的编写、小组作业时候的团队协作能力(由组长评分)。
b) 第二局部:期末工程,占40%;一次大型工程,由小组完成。
(2) 旷课3次取消考试资格,迟到3次算一次旷课。每迟到一次扣1分,旷课一次扣5分,期末全勤可加2分。
(3) 课堂内看视频、玩游戏,第一次扣5分,第二次扣10分,第三次扣20分,如果超过4次者,直接取消该科的考试资格。
二、 课堂纪律(讲授)
(1) 上课不准吃零食、嗑瓜子等。
(2) 下课后带走自己桌上的垃圾,让课桌上保持整洁。
(3) 下课后关电脑(主机和显示器)。
(4) 上课不准大声喧哗、玩手机、pad、睡觉等与学习无关的事情。
三、 教师信息及答疑时间设定(讲授)
四、 学习小组的成立以及成员之间讨论(讨论)
(1) 自由分组,每个组4-6人,并选定组长,然后为每个组安排好上机位置(小组成员必须坐在一起),以后就固定座位。
(2) 小组讨论:
a) 互相认识,加深了解,了解各自的兴趣和长项。
b) 选取一个同学为小组长。
c) 探讨学习本课程的方法,并由小组长向教师汇报本次讨论的结果。
五、 Java语言简介
(1) Java是一种程序设计语言,由Sun Microsystem公司于1995年推出;
(2) 早在1991年,Sun公司的James Gosling等人开场开发名为Oak的程序设计语言,希望用来控制嵌入在有线电视机顶盒和PDA等设备中的微处理器;
(3) 1994年,Oak语言正式更名为Java;
(4) Java语言凭借其独有的平安性、可移植性和平台无关性,迅速走红。
六、 Java可以做什么?(学生查询资料)
由学生自助通过各种方式查询资料,然后教师随机抽取1-3名同学答复。
七、 Java虚拟机(讲授)
(1) Java虚拟机〔Java Virtual Machine〕是可运行Java字节码的虚拟计算机系统。
(2) 使用Java语言编写的程序,实际上是运行在JVM之上,而不是运行在操作系统上。
(3) 它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信。
八、 开发Java程序的步骤(讲授)
(1) 创立Java源程序
Java源程序可以使用任何文本编辑器创立与编辑,一般用.java作为扩展名,其实就是一个使用Java语言编写的文本文件;
(2) 编译源程序
Java编译器读取Java源程序并翻译成Java虚拟机能够明白的指令集合,并以字节码的形式保存在文件中,通常,字节码文件以.class作为扩展名;
(3) 运行class〔字节码〕文件
Java解释器读取字节码文件,取出指令并翻译成计算机能够执行的机器代码,完成运行过程。
九、 编写第一个Java程序(讲授+演示)
(1) 翻开记事本,新建一个文本文件,将文件名改为Hello.java,在文件中键入如下内容并保存:
class Hello
{
public static void main(String[] args)
{
System.out.println("Hello world!");
}
}
(2) 使用javac编译器编译源文件。
(3) .class〔字节码〕文件。
(4) 使用java解释器运行字节码文件。
十、 分析程序( 讨论+讲授)
分组讨论,然后由每个组轮流发言;最后由教师总结。
(1) 关键字class用来定义一个类,Hello是类的名称;
(2) 在Java程序中,所有的语句都必须放在某个类中;
(3) 整个类及其所有成员都包含在一对花括号中〔即{和}之间〕,它们标志着类定义块的开场和完毕。
(4) 定义类的一般语法:
class 类名
{
……
}
(5) 程序必须从main函数开场执行;
(6) 关键字public是访问修饰符,用来控制类成员的可见X围及作用域;
(7) 关键字static允许在不创立类的实例的情况下,调用main函数;
(8) 关键字void用来说明main函数是没有返回值的;
(9) args是字符串数组,用来从命令行接收参数;
(10) String[]是字符串类型的数组;
(11) 在Java中,类名称一般首字母大写;
(12) 使用System.out.println()将信息输出到控制台上,即打印出来。
十一、 上机实验
(1) 安装JDK。
(2) 进展环境变量的配置。
(3) 安装Eclipse。
(4) 熟悉Eclipse开发环境。
作
业
布
置
(1) 编程输出以下信息
*********************************************
欢送进入Java编程世界
*********************************************
(2) 课后预习Java语言根底(Java的根本数据类型、操作符、关键字、流程控制)。
课
后
总
结
(1) 所有的同学都掌握了本门课程的考核方式。
(2) 通过分组学习,同学之间有问题可以互相帮助,学生学习积极性很高,并且通过小组组长的汇报,一局部学习方法较好的同学的经历,得以在全班同学之间共同分享,效果很好。
(3) 80%的同学都能够独立完成Java开发环境的搭建以及配置。
(4) 由于前面有C语言的学习根底,70%以上同学对Java程序构造的理解都不存在问题。整体来说,效果良好。
教 案
编号:2
章节
Java语言根底
流程控制 —分支语句
授课方式
讲授+学生实验+讨论
教
学
目
的
(1) 掌握Java中的变量和数据类型。
(2) 掌握Java中变量的作用域规那么。
(3) 掌握数据类型转换。
(4) 掌握Java中的运算符和表达式。
(5) 掌握选择构造的几种实现方式;并能够独立的应用它们来编写程序。
(6) 培养学生主动思考问题的能力。
(7) 培养学生表达能力。
(8) 培养学生实际动手操作能力。
教
学
重
点
(1) Java的根本数据类型、引用类型以及变量的作用域。
(2) 分支语句。
教
学
难
点
(1) 引用类型以及变量的作用域。
(2) 分支语句。
时间
分配
教 学 过 程
Min
10
80
90
一、 作业点评(学生阐述+教师总结)
方式:由出现程序问题的同学讲出自己出现的问题以及解决方式,最后由教师总结。
(1) 类名不规X、代码排版不规X。
(2) public中的p出现大写情况;static关键字丧失;main出现mian;String中的S未大写;System中的s出现了小写。
(3) printf以及println,print输出格式混淆.
(4) {}不匹配或者丧失。
二、 抽查上周布置的课后作业,抽查2-5个同学来阐述Java的根本数据类型、操作符、关键字。(学生阐述+教师讲授)
(1) 标识符命名规那么
a) 变量、函数、数组、对象、类和接口等等都需要命名,这些名称统称为标识符;
b) Java中对于标识符的命名规那么作了如下限制:
i. 只能由英文字母、数字、下划线“_〞和“$〞符号组成。
ii. 必须以英文字母、“_〞或“$〞开头,即不能以数字开头。
iii. 除“_〞和“$〞以外,不能包含其它任何特殊字符。
iv. 不能与关键字冲突。
v. 严格区分大小写。
(2) Java中的关键字:
abstract、boolean、break、byte、case、catch、char、
class、continue、do、double、else、enum、
extends、false、find、finally、float、for、implements、
import、instanceof、int、interface、long、native、
new、null、package、private、protected、public、
return、short、static、super、switch、synchronized、
this、throw、throws、true、try、void、while
(3) 数据类型
(4) 变量的作用域和生命周期
a) 变量 的作用域指变量起作用的X围,说明变量在什么局部可以被访问;
b) 变量的生命周期是指变量在内存中存在的周期,即什么时候分配空间,什么时候销毁;
(5) 运算符和表达式
a) 算术运算符
b) 关系运算符
c) 逻辑运算符
d) 条件运算符
e) 赋值运算符
(6) 选择构造
a) if语句
b) if…else语句
c) if…else if语句
d) switch…case语句
三、 学生实验(上机+教师指导)
(1) 输入一个“男〞或者“女〞,对应输出“M〞和“F〞。
(2) 写程序,假设星期一到星期五,那么打印出“工作快乐〞,假设星期六、星期天那么输出“周末更快乐〞。
(3) 输入一个分数,输出对应的等级:
60以下 E
60-70 D
70-80 C
80-90 B
90 – 100 A
作
业
布
置
(1) 输入三个数字,最后从小到大输出排序。
(2) 课后预习循环构造的几种语句以及数组的定义。
课
后
总
结
(1) 通过学生自己对出现问题的总结和教师的总结,80%以上的同学对常见问题的解决方法有了一个深刻的认识。
(2) 通过三个上机程序,加深了对循环构造的认识。但是依然有约20%的同学对if和switch的用法还不能掌握,需加强程序上机的编写。
教 案
编号:3
章节
流程控制 —循环语句
数组
授课方式
讲授+上机
教
学
目
的
(1) 掌握循环语句的使用。
(2) 掌握数组的声明以及运用。
(3) 培养学生主动性和积极性。
(4) 培养学生的逻辑思维能力。
教
学
重
点
(1) 循环语句。
(2) 数组、哈希表。
教
学
难
点
(1) 循环语句。
(2) 数组、哈希表。
时间
分配
教 学 过 程
Min
10
60
110
一、 作业点评(学生阐述+教师总结)
方式:由3-5个同学来讲述上周作业的实现思路,最后由教师总结出现的一些问题。
(1) 类名不规X
(2) 运算符的运用
(3) 局部算法的不科学性
二、 抽查上周布置的课后作业,抽查1-3个同学来阐述循环构造的几种语句以及数组的声明。(学生阐述+教师讲授)
(1) 循环语句
a) While
int i=0;
while(i++<3)
System.out.println(i);
b) Do……while语句
int i=1;
do
{
System.out.println(i);
}while(i++<3);
c) For 语句
for(int i=1;i<=3;i++)
System.out.println(i);
(2) 流程控制语句
a) break:从switch语句、循环语句或标号标识的代码块中退出。以下while循环用于把1加到100:
int a=1,result=0;
one: while(true){
result+=a++;
if(a==101)break one; //终止循环
}
System.out.println(result); //打印5050
b) continue:跳过本次循环,执行下一次循环,或执行标号标识的循环体。以下for循环用于对1到100之内的奇数求和:
int result=0;
for(int a=1;a<=100;a++){
if(a%2==0)continue; //如果a是偶数,就跳出本次循环,继续执行下次循环
else result+=a;
}
System.out.println(result); //打印2500
(3) 讨论:判断下面程序执行了多少次?
class Test
{
public static void main(String[] args){
int i=0;
while(i<10){
if(i<10){
i++;
continue;
}
if(i==5)
{
break;
}
}
System.out.println(i);
}
}
(4) Java中声明数组的几种方式
//仅声明数组的引用,但没有分配内存空间
float[] fAry;
//声明数组的同时,根据指定的长度分配内存,但数组中没有值
char[] chAry = new char[10];
//声明数组并分配内存,同时将其初始化
int[] ary1 = new int[]{1, 2, 3, 4, 5};
//与前一种方式一样,仅仅只是语法相对简单
int[] ary2 = {1, 2, 3, 4, 5};
三、 学生实验(上机)
(1) 【练习题一】
编写Java程序,计算100~999之间的全部“水仙花数〞的平均值。所谓“水仙花数〞是指一个三位数,其各位数字的立方和等于该数本身。例如:153=1^3+5^3+3^3,故153是水仙花数。
(2) 【练习题二】
编写一个Java程序,要求在控制台上打印出九九乘法表,效果应如下所示:
1*1=1,
1*2=2, 2*2=4,
1*3=3, 2*3=6, 3*3=9,
1*4=4, 2*4=8, 3*4=12, 4*4=16,
1*5=5, 2*5=10, 3*5=15, 4*5=20, 5*5=25,
1*6=6, 2*6=12, 3*6=18, 4*6=24, 5*6=30, 6*6=36,
1*7=7, 2*7=14, 3*7=21, 4*7=28, 5*7=35, 6*7=42, 7*7=49,
1*8=8, 2*8=16, 3*8=24, 4*8=32, 5*8=40, 6*8=48, 7*8=56, 8*8=64,
1*9=9, 2*9=18, 3*9=27, 4*9=36, 5*9=45, 6*9=54, 7*9=63, 8*9=72, 9*9=81,
(3) 【练习三】
1.打印如以下图型:
*
***
*****
***
*
2.
*
* *
* *
* *
* *
* *
*
作
业
布
置
(1) 一个小球从100米处落下,每次弹起是原来的一半,问弹起第二十次落下后所经过的米数。
课
后
总
结
(1) 通过这三周的程序编写和讲解,发现50%的同学对选择构造和循环构造的熟练程序还不够,对一些算法的实现还存在很大的问题,逻辑思维能力较弱。因此接下来的1-2周,决定采用大量的例子程序进展上机练习,然后由教师以及学得比拟好的同学进展辅导,为后面的面向对象编程的一些概念打下根底。
教 案
编号:4
章节
程序上机练习
授课方式
讲授+上机
教
学
目
的
(1) 掌握分支语句、循环语句、数组的用法;加深对变量以及数组声明等用法的理解和使用。
(2) 培养学生的逻辑思维能力。
(3) 培养学生的实际动手能力。
(4) 培养学生分析问题的能力。
教学
重点
(1) 分支语句、循环语句。
教学
难点
(1) 分支语句、循环语句。
时间
分配
教 学 过 程
Min
20
160
一、 作业点评(学生阐述+教师总结)
方式:由3-5个同学来讲述上周作业的实现思路,最后由教师总结出现的一些问题。
(1) 类名不规X
(2) 运算符的运用
(3) 局部算法的不科学性
二、 上机实验
实现方式:
(一)由教师给出程序片段,由学生完成关键局部的填写,最后让学生独立运行程序。
(二)让个别同学来讲解整个程序的实现思路,最后由教师总结。
(1) 求1000以内的素数〔素数:只能除开1和本身的数〕
(2) 某年某月某日,从该年的1月1日开场3天打渔2天晒网,求该日是打渔还是晒网〔思路,先求出该天是该年的第几天〕
(3) 编写一个程序实现将任意一个十进制数转换成二进制形式输出
如10输出形式为 0000000000...00000001010
(4) 一个小球从100米处落下,每次弹起是原来的一半,问弹起第二十次落下后所经过的米数。
(5) 求任意两个整数的最大公约数和最小公倍数
(6) 输出九九乘法表(两层for循环〕
(7) 求1000以内的水仙花数〔如 153 = 1^3+5^3+3^3〕
(8) 一个正整数,输出它的所有质数因子〔如180的质数因子为2、2、3、3、5〕。
作
业
布
置
(1) 求1!+3!+5!+…+9!的值
(2) 求1+1/2+1/6+1/12+1/20+….前10项的和
课
后
总
结
(1) 通过程序片段的方式,80%以上的同学都能够很好的完成最后的关键局部填写;这样的方式对于程序的初学者来说是一个很好的入门方式;在降低难度的同时还促进了学生的主动思考和分析问题的能力。
教 案
编号:5
章节
授课方式
教
学
目
的
教学
重点
教学
难点
时间
分配
教 学 过 程
国庆放假
作
业
布
置
课
后
总
结
教 案
编号:6
章节
程序上机练习
授课方式
讲授+上机
教
学
目
的
(1) 掌握循环构造、选择构造的用法;加深对变量以及数组声明等用法的理解和使用。
(2) 培养学生的逻辑思维能力。
(3) 培养学生的实际动手能力。
(4) 培养学生的团队意思。
教学
重点
(1) 分支语句、循环语句。
教学
难点
(1) 分支语句、循环语句。
时间
分配
教 学 过 程
Min
30
150
一、 作业点评(学生阐述+教师总结)
方式:由3-5个同学来讲述上周作业的实现思路,最后由教师总结出现的一些问题。
二、 上机实验(上机+指导)
实现方式:由学生独立完成,教师从旁指导。对于复杂的程序由小组讨论:如第六个小题。在写程序的同时也增加了趣味性。
(1) 万年历〔周几的判断规那么是 〔年+年/4+年/400-年/100〕%7〕
(2) 求1!+2!+3!+4!+...+9!的值
(3) 求1+1/2+2/3+3/5+5/8+....前10项的和
(4) 求Fibonacci数列:1,1,2,3,5,8,....的前40项并输出
(5) 编写一个程序,打印出
1
2 3
3 4 5
5 6 7
6 7 8 9
(6) 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的, 问海滩上原来最少有多少个桃子? 桃子的个数有多少种可能?
(7) 写一段程序,定义int型变量代表month 月份,并赋给初值,根据月份判断出这个月是四季中的哪个季节?不是一年12个月份的月份,输出“错误月份〞;
(8) 给一个不多于5位的正整数,要求:一、输出它是几位数,二、逆序打印出各位数字。
作
业
布
置
(1) 编写程序,打印出
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
(2) 课后预习面向对象编程的概念。
课
后
总
结
通过两周的课堂编程练习以及教师的指导和讲解,80%的同学对Java语言根底、循环构造、选择构造以及数组的应用根本熟练,到达了Java编程的入门级水平(能够编写一些简单的应用程序,如:打印图案,数字排序,平年与闰年的判断等);在逻辑思考上也有了一些进步,但是程序的训练还需进一步的加强。
教 案
编号:7
章节
面向对象开发方法概述
授课方式
讲授+上机
教
学
目
的
(1) 了解什么是面向对象。
(2) 掌握面向对象的根本概念(类、对象、属性、封装、继承、多态)。
(3) 掌握如何定义类,如何创立对象。
(4) 掌握成员运算符的使用。
(5) 掌握访问控制权限:public和private。
(6) 培养学生抽象客观世界成主观世界的能力。
(7) 培养学生初步的设计软件系统的能力。
(8) 培养学生的团队意识。
教
学
重
点
(1) 面向对象的核心思想和概念
教
学
难
点
(1) 面向对象的核心思想和概念
时间
分配
教 学 过 程
Min
15
15
10
10
20
20
10
10
15
55
一、 作业点评(学生阐述+教师总结)
方式:由1-3个同学来讲述上周作业第六题的实现思路以及展示具体实现,最后由教师总结出现的一些问题。
二、 上周课后作业检查
方式:抽查2-5名同学谈谈对面向对象编程的认识以及对根本概念的描述。
三、 面向对象的编程思想
四、 对象
(1) 现实世界中的实体是实际存在的某种物体,用OOP的术语就称为对象。
(2) 在Java中我们通过对象对现实世界中的实体进展一个模拟和映射。
(3) 对象是面向对象编程的核心局部,和现实世界一样,需要具有明确定义的状态和行为。
(4) 对象的特征——属性
a) 属性——对象具有的各种特征
b) 每个对象的每个属性都拥有特定值
(5) 对象的特征——方法
a) 方法——对象执行的操作
五、 类
(1) 人们为了更好地认识世界,将现实生活中的事物〔对象〕划分成类;
(2) 同一类中的事物总是具有一些共性;
(3) 类以共同的特性和行为定义实体;
(4) 类是具有一样属性和行为的一组对象的集合。
(5) 类和对象的区别
a) 类是用来描述实体的“模板〞或“原型〞;
b) 对象是实际的实体,每一个对象都是类的一个具体实例;
c) 类用来定义对象所有的属性和方法,同一类的所有对象都拥有一样的特征和操作;
d) 可以将类理解成生产产品的模具,而对象那么是根据此模具生产的一个个产品。
六、 在Java中定义类
七、 创立对象的语法
(1) 和数组相似,对象也是引用数据类型,只能使用new运算符从堆中分配内存;
(2) 创立对象的一般语法:
(3) 类名 引用名 = new 类名();
(4) 使用已经定义好的类,创立该类对象的过程称为“实例化〞。
八、 访问权限:public和private
(1) C语言中构造体的成员可以从任何地方进展访问,这将给数据的平安留下极大的隐患;
(2) 为了防止从类外部直接访问类成员而造成的数据损坏,Java对类成员的访问制定了约束;
(3) 关键字public和private是访问修饰符,用来说明某个成员是否可以从类外部进展访问;
(4) public修饰的成员可以在任何地方进展访问,不受任何约束;
(5) private修饰的成员只能够被本类中的其它成员访问,而不能从类的外部进展访问。
九、 讨论:列举出生活中常见的类以及它们的对象。
由每个组一个代表发言,说出讨论结果。
十、 上机实验
(一) 练习一
(1) 请通过代码封装,实现如下需求:
编写一个类Book,代表教材:
1、具有属性:名称〔title〕、页数〔pageNum〕、(publisher)
2. 为各属性设置赋值和取值方法
3、编写一个判断页数的方法judgePage〔〕,其中判断输入的页数不能少于200页,否那么输出错误信息,并赋予默认值200
4、具有方法:detail〔〕,用来在控制台输出每本教材的名称和页数
(2) 编写测试类BookTest进展测试:为Book对象的属性赋予初始值,并调用Book对象的detail方法,看看输出是否正确?
(二)练习二
(1) 使用JAVA定义学生类Student!
a) 要求学生类有XX、性别、年龄、体重等属性,并且全部属性都要使用private修饰。
b) 提供public的set和get方法来设置和获取属性的值。
c) 提供dining() 吃饭 和walk 走路 ()。
(2) 编写测试类Teststudent进展测试:为Student对象的属性赋予初始值,并调用Student对象的dining(),walk()方法,看看输出是否正确?
作
业
布
置
(1) 教材P42 第八题。
课
后
总
结
(1) 只有40%的同学对面向对象的根本概念的理解和掌握;余下的大局部同学都属于一知半解;在这方面还需进一步加强练习。
教 案
编号:8
章节
面向对象开发方法概述 —类和对象的Java实现
授课方式
讲授+学生操作
教
学
目
的
(1) 掌握类和对象的根本概念以及核心思想。
(2) 掌握构造方法的写法以及重载。
(3) 掌握对象在内存中的存放形式。
(4) 培养学生对客观事物的抽象能力。
(5) 培养学生系统分析的能力。
(6) 培养学生的工程展示能力。
教
学
重
点
(1) 构造方法。
(2) 方法重载。
教
学
难
点
(1) 方法重载。
时间
分配
教 学 过 程
Min
20
20
20
120
一、 作业点评(学生阐述+教师总结)
方式:由2-4个同学来讲述上周实验的实现思路以及具体实现,最后由教师总结出现的一些问题。
(1) 一个Java文件中出现多个class,需文件名的类修饰成public即主类。
(2) 建立测试类后,创立对象后访问对象的属性时未通过对象进展引用而直接访问属性。
(3) setter方法传参数出现问题,如obj.setTitle="天龙八部";
(4) char型出现char ch="男"!!!
(5) 类中定义方法〔行为〕出现问题,即停留在C语言;〔〕丧失。
(6) setter和getter方法命名不规X以及方法返回类型和方法体出现问题。
二、 构造方法
(1) 正是由于在实例化对象的同时会自动调用构造方法,所以构造方法一般用来给数据成员分配资源或初始化数据成员;
(2) 构造方法的一般形式:
访问权限 类名〔形参列表〕
{
方法体
}
(3) 因为是由虚拟机来调用构造方法,所以构造方法一般应定义成public。
/*定义ConstructorDemo类,对构造方法进展测试*/
class ConstructorDemo
{
/*构造方法,方法名与类名完全一致
无需指定返回值类型,也不能有返回值*/
public ConstructorDemo()
{
System.out.println("这是构造方法");
}
}
/*Test类,用来容纳main方法
一般将包含有main方法的类声明为public*/
public class Test
{
/*main方法,程序入口*/
public static void main(String[] args)
{
/*实例化ConstructorDemo类的对象*/
ConstructorDemo cd = new ConstructorDemo();
}
}
三、 方法重载
(1) 用于定义一组方法,这些方法具有一样的名称,并执行类似的操作,但是却使用不同的参数列表;
(2) 编译器会根据调用时传递的实际参数自动判断具体调用的是哪个重载方法,如:
/*abs方法的重载*/
int abs(int x) {……}
float abs(float x) {……}
double abs(double x) {……}
long abs(long x) {……}
(3) 方法重载的三大原那么
a) 方法名一样
b) 参数不同〔可以有三方面的不同〕
数量不同
类型不同
顺序不同
c) 同一作用域
d) 温馨提示:方法重载跟方法的返回值类型没有任何关系。也就是说,只有返回值不同的方法不能构成重载。
/*错误的方法重载*/
void fun(int x) {……};
int fun(int x) {……};
四、 上机实验
(1) 定义一个学生类,具有属性:XX〔name〕、性别〔sex〕、年龄〔age〕、体重〔weight〕、银行XX余额〔money〕!给每个属性提供set以及get方法。
(2) 为该学生提供学习方法〔learn〕、休息方法(rest)、显示信息方法〔display〕。在学习方法中,体重减一;在休息方法中,体重加一。
(3) 为学生类提供方法重载对成员变量进展灵活初始化。要求〔a、无参的构造方法;b、只有XX一个参数的构造方法;c、有XX、性别两个参数的构造方法;d、有XX、性别、年龄三个参数的构造方法;e、有XX、性别、年龄、体重四个参数的构造方法;f、有XX、性别、年龄、体重、银行XX五个参数的构造方法。
(4) 在测试类中,实例化学生类,要求:通过6种不同的初始化方法,实现6个对象的创立,并显示具体学生的相关信息。
(5) 定义一个类AbsoluteValue〔求绝对值〕,要求使用方法重载实现不同类型数值的取绝对值方法:abs。
作
业
布
置
(1) P193 11、12、13。
课
后
总
结
(1) 80%以上的同学掌握了windows应用程序的安装、卸载以及软件的注册。
(2) 90%以上的同学掌握了windows的根本快捷操作。
教 案
编号:9
章节
Java语言中的修饰符
授课方式
讲授+学生实验
教
学
目
的
(1) 掌握this、static、package、import它们的含义以及用法。
(2) 掌握对象数组的声明及用法。
(3) 培养学生实际动手能力。
(4) 培养学生面向对象的编程能力。
教
学
重
点
(1) 对象数组。
(2) this、static、package、import。
教
学
难
点
(1) 对象数组。
(2) this、static。
时间
分配
教 学 过 程
Min
15
15
15
10
25
100
一、 作业点评及检查(学生阐述+教师总结)
(1) 由1-2个学生讲述上周作业的实现思路以及展示程序实现;过程中由教师补充和总结。
二、 对象数组〔讲授〕
(1) 在Java中不但可以声明由原始数据组成的数组,还可以声明由对象组成的数组;
声明对象数组的方式如:
//假设已经定义了一个Student类
/*声明由5个Stud
展开阅读全文