第四章 Java面向对象的程序设计基础
Java程序设计基础知识
Java程序设计基础知识Java是一种面向对象的编程语言,随着互联网的发展成为最为广泛使用的编程语言之一。
本文将从基础知识的角度,对Java程序设计进行详细介绍。
第一章:Java语言简介Java是由Sun Microsystems公司于1991年推出的一种高级编程语言,其特点是可移植性强、面向对象、安全性高等。
Java语言使用JVM(Java虚拟机)来实现跨平台的能力,即一次编写,到处运行。
第二章:Java开发环境搭建为了开始Java程序设计,需要安装Java开发工具包(JDK)和集成开发环境(IDE),如Eclipse、IntelliJ IDEA等。
本章将介绍如何下载、安装和配置Java开发环境。
第三章:Java基本语法Java语言有自己的语法规则和编码规范。
本章将介绍Java的数据类型、运算符、控制语句等基本语法,帮助读者掌握Java程序的编写和执行过程。
第四章:面向对象编程Java是一种纯粹的面向对象编程语言,本章将深入介绍Java的面向对象思想、类与对象、封装、继承、多态等概念。
读者将学会如何使用面向对象的思维方式来设计和编写Java程序。
第五章:异常处理Java提供了强大的异常处理机制,通过try-catch-finally语句,可以捕获和处理程序中可能出现的异常。
本章将介绍异常的分类、处理方式和自定义异常的使用。
第六章:Java核心类库Java提供了大量的核心类库,涵盖了各种常用的功能和数据结构,如字符串处理、集合类、IO操作等。
本章将介绍如何使用Java核心类库来进行常用的编程操作。
第七章:多线程编程Java支持多线程编程,可以同时执行多个任务。
本章将介绍多线程的概念、线程的生命周期、线程同步与互斥等内容,帮助读者理解和应用多线程编程的技巧。
第八章:输入输出流Java提供了强大的输入输出流(IO)机制,能够进行文件读写、网络通信和数据流的处理。
本章将介绍Java的IO概念、文件操作、网络编程等方面的知识。
第四章 面向对象程序设计基础
OOA
OOD
OOP
面向对象的基本概念——对象 对象 面向对象的基本概念
对象具有两方面的含义:
在现实生活中
客观世界的实体
在计算机程序中
程序中对象就是一组变量和相 关方法的集合,其中变量表明 对象的状态,方法表明对象所 具有的行为。
import语句 语句
引入包中的类。 import java.io.File; 引入整个包。 import java.io.*; 在同一包中的类可以互相引用,无需 import语句。
访问控制修饰符
修饰符 public protected default private 任何地方 √ 子类中 √ √ 同包中 √ √ √ 本类中 √ √ √ √
第四章 面向对象程序设计基础
面向对象编程基础——程序语言的发展 程序语言的发展 面向对象编程基础
面向机器( 面向机器 机器语言、汇编语言) – 汇编是对机器语言的抽象。 – 可读性、可维护、移植性差;效率高。 面向过程 – 面向过程语言是对汇编的抽象。 – 核心:算法 + 数据结构 – 缺陷: 随着应用程序的规模扩大,操作与数据分离所带来的维护工作 量越来越大 不适用于GUI界面、事件驱动编程 是对现实问题的抽象。 面向对象 是对现实问题的抽象。
void brake() { … } void speedUp() {…} void slowDown() { … }
抽象数据类型
面向对象与面向过程区别
面向过程:第一步干什么,第二步干什 么,第三。。。。。 面向对象:一共有几个对象,对象之间 都是什么关系? 面向对象的基本思想是:从现实世界中 客观存在的事物出发来构造软件系统. 并在系统的构造中尽可能运用人类的自 然思维方式.
java面向对象程序设计第2版第4章_类与对象
§4.1 编程语言的几个发展阶段
◆ 面向机器语言 ◆面向过程语言 ◆面向对象语言
面向对象编程主要体现下列三个特性 ◇封装性 ◇继承 ◇多态
整理课件
§4.2 类
类是组成Java程序的基本要素。类封装了 一类对象的状态和方法。类是用来定义对象的 模板。
类的实现包括两部分:类声明和类体。基 本格式为:
整理课件
§4.4 参数传值
§4.4.1 基本数据类型参数的传值
对于基本数据类型的参数,向该参数传递 的值的级别不可以高于该参数的级别 。
例4-4
整理课件
§4.4.2 引用类型参数的传值
当参数是引用类型时,“传值”传递的是变 量中存放的“引用”,而不是变量所引用的实体。
例4-5
整理课件
§4.4.3 可变参数
我们在任何一个类中用类Tom 创建了一个对象 后 , 该 对 象 能 访 问 自 己 的 public 变 量 和 类 中 的 public方法(也可以通过类名来操作成员变量、 方法) 。
整理课件
§4.10.3 友好变量和友好方法
当在另外一个类中用类Tom 创建了一个对象 后,如果这个类与Tom类在同一个包中,那么该 对象能访问自己的友好变量和友好方法。
1.通过使用运算符“.” 对象操作自己的变量 (对象的属性) 2.使用运算符“.”,对象调用类中的方法(对 象的功能)
例4-3
整理课件
§4.3.3 对象的引用和实体
当用类创建一个对象时,类中 的成员变量在分配内存空间,这 些内存空间称作该对象的实体或 对象的变量,而对象中存放着引 用。
一个类创建的两个对象,如果 具有相同的引用,那么就具有完 全相同的实体。
2.类名最好容易识别、见名知意。当类名由几个“单词”复 合而成时,每个单词的首字母使用大写。
Java程序设计基础(专,2020春)_第4章单元测试-面向对象-20题0
18.以下关于抽象类的描述中,正确的是( )
A.当一个类中包含了抽象方法,该类必须使用abstract关键字来修饰
B.抽象类是对一系列看上去不同,但本质上相同的具体概念的抽象
C.抽象类可以不定义抽象方法
D.抽象类不能被实例化
答案:ABCD
19.final可以修饰如下哪些内容( )
答案:类名
10.与普通方法一样,构造方法也可以重载。
答案:正确
11.垃圾回收机制保证了Java程序不会出现内存溢出。
答案:错误
12.静态方法随着类的加载而加载,随着类的消失而消失。
答案:正确
13.构造方法没有返回值类型,所以可以写void,也可以不写。
答案:错误
14.如果父类的方法是静态的,则子类的方法被( )修饰才能覆盖父类的静态方法 。
C.以上都不对
D.静态变量可以定义在类中的任意位置
答案:A
6.下列关于封装的说法中,正确的是( )
A.封装可以提高代码的安全性
B.类或者方法也是封装的一种体现
C.仅仅private修饰的内容才是封装
D.封装是隐藏对象的属性和实现细节,对外提供公有的访问方法
答案:ABD
7.下列关于构造方法和普通方法的描述中,正确的是( )
A.private
B.static
C.final
D.protected
答案:B
15.下列关于接口的说法中,错误的是( )
A.接口中的所有方法都是抽象方法
B.接口中定义的方法默认使用“public abstract”来修饰
C.接口中定义的变量可以被修改
java程序设计 第四章 内容提纲汇总
注意:①创建对象的意思是在内存中按类的格式开辟
一个空间。这个空间既有属性空间,又有方法空间。 ②同类的不同对象占用不同的内存空间 创建变量与创建对象示意图
第4章 面向对象编程
2、对象初始化的说明 (1)系统如何对变量初始化 一个变量若在声明后没有赋值而直接使用该变量, 则会出错
同样,用new创建一个对象时,系统会为对象中 的变量进行初始化。系统不但会为对象中的变量分配 内存,同时还为它们设置相应的初值 byte、short、int、long类型变量设初值为0 Float类型变量设初值为0.0f Double类型变量设初值为0.0 Char类型变量设初值为‘\u0000’ Boolean为false; 引用类型初值为null
第4章 面向对象编程
B、修饰方法—公共方法: 公共方法是类的对外接口,它允许其它类或程序 调用 C、修饰域—公共域(公共属性、公共变量):
用public修饰变量,会造成安全性和数据的封装
性下降
第4章 面向对象编程
2)、私有访问控制符:private 用private修饰的属性和方法只能被自身类访问 和修改。它不能被其它类(包括该类的子类)访问和修 改 说明: ①享有最高级别的保护,是类的私有成员 ②其它类若想获得和修改私有成员时,要通过 类的方法
◆封装是抽象的具体体现,它利用操作方法把数据 封装到类中;形成以数据为核心,以方法为外壳的类。
◆继承是一个类继承父类的所有非私有的属性和方 法,它可以提高代码的重用性。 ◆对象是类的实例化的结果,是类的具体化,利用 对象的引用可以使用类的属性和方法完成任务。
第4章 面向对象编程
§4.3 成员变量与封装
态,解决问题)
第4章 面向对象编程
面向对象的方法解决问题的基本过程 对象 实 例 ③ 化 类 实体
面向对象程序设计第四章
4.1 抽象与封装
封装就是将数据的表现方式和对数据的操作细节隐藏 起来,用户可以通过接口对数据进行操作,而不必要 知道数据是如何表示的,怎么对数据操作的这些细节 封装是面向对象的基本特征之一 变速箱变速、汽车驱动、汽车转向等原理都被封装在 汽车内部了,提供给驾驶员的只是一个接口。驾驶员 只需要踩下油门、转动方向盘就可以上路了 我们不必要知道录音机、MP3播放器、电视机遥控器 等内部细节,只需要知道按下哪个键可以播放、停止 即可
类成员包括成员函数和数据成员两类。 包含可执行代码的成员统称为该类的成员函数。 类的成员函数包括:方法、属性、事件、索引 器、运算符和构造函数。 类的数据成员包含类要处理的数据,可以是常 量和字段。
4.3 对象
4.3.1 创建对象 使用new运算符,可以创建对象,即类的实例。对象 是一个引用类型的变量。 对象的创建形式: 类名 对象名 = new 类名(参数); Goods cloth = new Goods(10); 使用new运算符创建对象,并调用类的构造函数完成 对象的初始化工作。也可以分两步创建对象: Goods cloth ; cloth = new Goods(10);
protected
internal protected internal
定义保护成员。成员可以从定义它的类内部,以及派 生类访问
定义内部成员。成员只能从当前程序集中访问 定义内部保护成员。成员在当前程序集、定义它的类 内部和派生类访问
4.7.1 使用传统的读写方法进行封装
在程序中,可以使用传统的读写方法封装私有 数据。通常先定义私有字段,然后定义一个读 私有字段的方法和一个修改字段的方法。如果 想访问类中封装的私有数据,只能通过读写方 法完成,这样可以保证类中封装数据的完整性
java基础编程 第四章 面向对象(下) 案例
案例4-1 super访问父类成员变量一、案例描述1、考核知识点编号:029004003名称:super关键字2、练习目标➢掌握使用super关键字访问父类成员变量的方法3、需求分析子类可以继承父类的非私有成员变量,如果在子类中修改了继承自父类的成员变量的值,再想要访问父类的该成员变量时,可以通过super.成员变量来实现。
为了让初学者熟悉super关键字的用法,本案例将分别设计Fu类及其子类Zi,并在Zi类的方法中使用super关键字访问Fu类的成员变量。
4、设计思路(实现原理)1)编写一个Fu类,在类中定义无参构造和一个初始值为20的num成员变量。
2)Zi类继承Fu类,在子类中对num值进行了修改,同时在子类中定义无参构造和一个无返回值的method()方法,method()方法中使用super关键字调用了Fu类的num成员变量。
3)定义测试类Example03。
二、案例实现1、编写Fu类及其子类Zi,在Zi类中使用super关键字调用Fu类成员变量,代码如下class Fu {Fu() {}int num = 20;}class Zi extends Fu {Zi() {}int num = 30;// 修改num的值void method() {System.out.println("method");// super关键字调用父类成员变量System.out.println("Fu类中num值为:" + super.num);System.out.println("Zi类中num值为:" + num);}}2、定义测试类Example03,代码如下:class Example03{public static void main(String[] args) {Zi z = new Zi();z.method();}}运行结果如图4-3所示。
第四章面向对象程序设计基础
22:01:02
类
在研究对象时主要考虑对象的属性和行为。 类:通常将属性及行为相同或相似对象归为一 类。类可以看成是对象的抽象,代表了此类对 象所具有的共同属性和行为。 “类”是对一组具有相同特征的“对象”的抽 象描述,所有这些“对象”都是这个“类”的 实例。 在C#中,类是一种数据类型,对象是该类型 的变量,变量名即是某个具体对象的标识名。
22:01:02
什么是属性
C#不直接访问类的数据 通过访问器访问(get,set )
get和set都存在:读写属性
属性的类型和字段类 class Student 型必须一致。 { // 姓名 private string name; public string Name { get { return name; } 返回name set { name = value; } } 给name赋值 }
22:01:02
3
本章学习要点
理解类的定义 掌握声明类的方法 掌握构造函数和析构函数方法 理解并掌握访问修饰符的用法 掌握类事件的声明以及为类定义事件
22:01:02
4
4.1类与对象的概述
对象
对象是人们要进行研究的任何事物
有各自不同 的状态
状态 名字:保时捷 产地:德国 排量:3.0 颜色:灰色
第4章 面向对象基础
什么是面向对象编程
面向对象编程代表了一种全新的程序设计思路。 按照现实世界的特点来管理复杂的事物,把它们 抽象为对象,具有自己的状态和行为,通过消息 的反应来完成一定的任务。 优点:
多样性 增加代码的重用机会 增加了程序开发速度 降低了维护负担
(2024年)《Java面向对象程序设计》教案
01
课程介绍与目标
2024/3/26
3
Java语言概述
2024/3/26
Java语言的历史与发展
01
介绍Java语言的起源、发展历程以及在不同领域的应用。
Java语言的特点与优势
02
阐述Java语言跨平台、面向对象、安全性等特点,以及其在软
件开发中的优势。
Java语言的核心技术
03
简要介绍Java语言的核心技术,如JVM、Java类库、Java API
接口是一种特殊的类,它只包含方法的声明,不包含方法的实现。
抽象类的定义
抽象类是一种特殊的类,它不能被实例化,只能被继承。抽象类中 可以包含抽象方法和非抽象方法。
接口与抽象类的区别
接口只能包含方法的声明,而抽象类可以包含方法的声明和实现; 接口可以被多继承,而抽象类只能被单继承。
16
内部类与匿名内部类
关键字
Java语言中预定义的、有特殊含义的单词,不能作为标识符使用 。
数据类型
Java中的数据类型分为基本数据类型和引用数据类型,基本数据 类型包括整型、浮点型、字符型和布尔型。
2024/3/26
9
运算符与表达式
运算符
用于进行各种运算的符号,如算术运算符、关系运算符、逻辑运算符等。
表达式
由运算符和操作数组成的算式,用于计算并返回结果。
提供了操作日历字段(如年、月、日、时、分、秒)的方 法,可以获取和设置日期时间。
两者比较
Date类主要用于表示日期时间,而Calendar类则提供了 更丰富的日期时间操作方法,如计算两个日期之间的差值 、设置时区等。
20
集合框架类库
Java集合框架主要包括接口(如 Collection、List、Set、Queue、 Deque等)和实现类(如ArrayList、 LinkedList、HashSet、TreeSet等) 。
面向对象程序设计基础知识
面向对象程序设计基础知识面向对象程序设计(Object-oriented programming,简称OOP)是一种让计算机程序更具可维护性、可扩展性和可重用性的编程范式。
其中,基于类和对象的概念是核心要素。
本文将介绍面向对象程序设计的基础知识,包括类与对象、封装与继承、多态和抽象等。
一、类与对象类是面向对象程序设计的基本单位,是对一类具有相同属性和行为的对象的抽象描述。
类可以看作是对象的模板或蓝图,它定义了对象的属性和方法。
对象则是类的实例化,是具体的实体。
在面向对象程序设计中,类包含两个主要的成员:属性和方法。
属性是类的特性,描述了对象的状态;方法是类的行为,描述了对象的操作。
通过封装属性和方法,类实现了对数据和行为的封装,使得程序的逻辑更加清晰和灵活。
二、封装与继承封装是将类的属性和方法封装在一起,形成一个独立的单元。
通过封装,我们可以隐藏类的内部实现细节,只暴露必要的接口给外部使用。
这种数据与行为的封装增强了类的安全性和可靠性,同时也降低了程序的耦合性。
继承是面向对象程序设计的另一个重要概念。
通过继承,一个类可以继承另一个类的属性和方法,从而实现代码的复用和扩展。
继承关系可以形成类的层次结构,其中父类被称为超类或基类,子类被称为派生类。
派生类可以重写父类的方法或添加自己的方法,实现对父类的功能增强。
三、多态和抽象多态是指同一种类型的对象在不同情况下表现出不同的行为。
通过多态,我们可以根据对象的具体类型调用相应的方法,而不关心对象的具体实现。
多态提高了代码的灵活性和可扩展性,使得程序更易于维护和扩展。
抽象是将复杂的事物简化为一个易于理解的模型。
在面向对象程序设计中,抽象提供了接口和抽象类两种机制。
接口定义了一个类应该具有哪些方法,但不提供具体的实现;抽象类则是一种中间状态,既可以有定义了方法的具体实现,又可以有定义了接口的抽象方法。
通过接口和抽象类,我们可以实现代码的分离和模块化,提高代码的灵活性和复用性。
面向对象程序设计-JAVA说课稿
介绍JDK的下载、安装及环境变量的配置,以及 常用开发工具的介绍与使用。
Java语言基本语法
标识符与关键字
讲解Java语言中标识符的 命名规则、关键字及其用 途。
数据类型
详细介绍Java中的基本数 据类型(整型、浮点型、 字符型、布尔型)及其使 用场景。
变量与常量
阐述Java中变量的声明、 初始化及作用域,以及常 量的定义和使用。
封装与隐藏
封装(Encapsulation)是指将对象 的属性和方法封装在类中,隐藏对象 的内部细节,只对外提供必要的接口。 封装可以提高程序的安全性和可维护 性。
VS
在Java中,使用访问修饰符来控制类、 属性、方法的访问权限,实现封装和 隐藏。Java中的访问修饰符包括 `private`、`protected`、`public`和 默认(无修饰符)。其中,`private` 修饰符表示只有类本身可以访问; `protected`修饰符表示类和子类可以 访问;`public`修饰符表示任何类都 可以访问;默认修饰符表示只有同一 个包中的类可以访问。
鼓励学生参加编程竞 赛、开源项目等课外 活动,拓宽视野和增 强实践能力
02
Java语言基础
Java语言概述
01 Java语言的历史与发展
介绍Java语言的起源、发展历程以及在不同领域 的应用。
02 Java语言的特点
第4章 Java面向对象程序设计
相关知识点:
1. 类定义 对一个用户自定义的类,要为类取一个名字,并指明类中 包含哪些变量和方法以及相应的类型、实现等,这称为类的 定义。类定义语句的一般形式为: [public][abstract][final] class 类名 [extends 父类名] [implements 接口名表] { 成员变量定义 // 类体 成员方法定义 } 说明: (1)其中class、extends和implements都是Java的关键字。 说明 : (2)在类声明的各部分中,关键字class和类名是必须的, 其它部分可根据需要选用; (3) public、abstract、final关键字顺序可以互换,但class, extends和implements顺序不能互换。
类声明中关键字及其含义
2.成员变量的定义 (1)成员变量的分类 类变量:描述类的静态特性,被该类所有的对象所 类变量 共享,即使没有创建类的对象,这些变量也存在。 无论创建多少个该类的对象,都共享一个副本;当 类变量的值发生改变,类的所有对象都将使用改变 后的值。 实例变量:与具体对象相关,创建一个对象的同时 实例变量 也创建类的实例变量,因此每一个对象均有自己的 实例变量副本和赋值。这些实例变量,记录了对象 的状态和特征值,使每个对象具有各种的特点,以 区分于不同的对象。
//主方法 主方法 public static void main(String[] args) { College wangym; wangym=new College("Wangym",false,33,168,56,"软件技术 软件技术"); 软件技术 wangym.getInfo();//调用父类的实例方法 调用父类的实例方法 wangym.getMajor();//调用子类的实例方法 调用子类的实例方法 } }
自考Java程序语言设计(一)第四章面向对象程序设计讲义
第四章面向对象程序设计目录第一节类和对象第二节定义方法第三节静态成员第四节包装类01 类和对象类的定义类的定义也称为类的声明。
类中含有两部分元素,分别是数据成员变量和成员方法。
类定义的一般格式如下。
修饰符 class 类名 [extends父类名]{修饰符类型成员变量1;修饰符类型成员变量2;……修饰符类型成员方法 1 (参数列表){方法体}……}其中,class是关键字,表明其后定义的是一个类。
含有class的这一行称为类头,后面大括号括住的部分称为类体。
class前的修饰符可以有多个,用来限定所定义的类的使用方式。
类名是用户为该类所起的名字,它必须是一个合法的标识符,并尽量遵从命名约定。
extends是关键字。
如果所定义的类是从某一个父类派生而来,那么,父类的名字要写在extends之后。
类定义中的数据成员变量可以有多个。
成员变量前面的类型是该变量的类型;类中的成员方法也可以有多个,其前面的类型是方法返回值的类型。
如果没有返回值,则写void。
方法体是要执行的真正语句。
在方法体中还可以定义该方法内使用的局部变量,这些变量只在该方法内有效。
方法的参数列表中可以含有0 个或多个参数,每个参数的前面要指明该参数的类型。
类定义中的修饰符是访问权限修饰符,包括 public、private和protected,也可以不写,表示是默认修饰符。
它们既可以用来修饰类,又可以修饰类中的成员,修饰符决定所修饰成员在程序运行时被访问的方式。
具体来说,用public修饰的成员表示是公有的,也就是它可以被其他任何对象访问。
类中限定为private的成员只能被这个类本身访问,在类外不可见。
用 protected修饰的成员是受保护的,只可以被同一包及其子类的实例对象访问。
如果不写任何修饰符,则表明是默认的,相应的成员可以被所在包中的各类访问。
类的示例使用类可以构造所需的各种类型。
例如,程序中要说明日期这个类型,它含有3个成员变量:日、月、年,分别用3个整数来表示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章面向对象的程序设计基础在前边的实验中,已经了解了Java的基本数据及其运算规则、程序设计的三种基本结构(顺序、选择和循环)以及简单的输入输出处理。
从本章开始,将以对象为基础进行编程训练。
本章试验的任务主要是了解类的基本构成,声明及定义成员变量、成员方法和构造方法等;创建对象及对象的与应用。
4.1 实验一:定义类1. 实验目的1)正确理解类的基本概念;2)能适当地划分类,基本掌握类的构成,类的声明及定义。
2.实验要求根据类的划分和构成,创建新类,初步掌握简单且常用类的设计方法,完成类程序的编写与调试。
3.实验内容实验示例4.1.1 创建一个公司的职员信息类Employers类。
实现该示例的方法步骤如下:⑴首先分析一下该类的构成①成员变量一般来说,公司职员的基本信息,应该包括如下:ID 身份证号name 姓名sex 性别birthday 出生年月home 籍贯address 居住地址number 职员号码等等。
它们均可被声明为String (字符串) 类型。
②成员方法对于一个公司的管理来说,常常需要获取或修改职员的某些信息,因此可以定义如下一些成员方法:getNumber() 获得职员号码;getName() 获得职员姓名;getID() 获得职员的身份证号;setNumber(String num) 修改或设置职员号码;setName(String name) 修改或设置职员姓名;setID(String ID) 修改或设置职员的身份证号;display() 显示职员的信息。
③构造方法构造方法用于构造类的对象。
一般来说,不同的对象有不同的属性,使用不同的属性参数能构造不同的对象。
如果在类中没有定义构造方法,那么构造对象时将使用系统默认的方法,构造的对象的所有属性为空值。
可以根据成员变量的数据类型设置全参数的构造方法:Employers(String ID,String name,String sex,String birthday,String home,String address, String number){…………//为成员变量赋值}当然也可根据需要设置部分参数的构造方法,对没有赋值的成员变量,系统默认为空值。
⑵根据上边分析,按照类的构成,可给出如下的Employers类程序代码:public class Employers{String number ; //声明职员号String name; //声明姓名String sex; //声明性别String birthday; //声明出生年月String home; //声明籍贯String address; //声明家庭住址String ID; //声明身份证号public String getNum() //获得职员号方法{return number;}public String getName() //获得姓名方法{return name;}public String getID() //获得身份证号方法{return ID;}public void setNum(String number) //设置职员号方法{this.number=number;}public void setName(String name) //设置姓名方法{=name;}public void setID(String ID) //设置身份证号方法{this.ID=ID;}public void display() //显示信息方法{System.out.println("职员号码:"+number);System.out.println("姓名:"+name);System.out.println("性别:"+sex);System.out.println("出生日期:"+birthday);System.out.println("籍贯:"+home);System.out.println("住址:"+address);System.out.println("身份证号:"+ID);}public Employers(String number,String name,String sex,String birthday, String home,String address,String ID)//构造函数{this.number=number;=name;this.sex=sex;this.birthday=birthday;this.home=home;this.address=address;this.ID=ID;}}⑶输入上述代码,建立源程序文件Employers.java。
之后, 编译它生成公用类(public)文件(.class字节码文件),以便在应用程序中使用它。
认真阅读上述程序,思考如下问题:关键字this的作用是什么?一般在哪些情况下需要使用它?为了熟练掌握类的定义与建立,作为本实验的作业完成下边的自由练习:自由练习4.1 仿造上边的类程序,定义一个学生基本信息类。
实验示例4.1.2 创建职员Employers对象并显示Employers对象的信息。
实现该示例的方法步骤如下:⑴先分析示例的要求,这是一个编写并测试Employers类功能的程序,在测试程序中,只需要创建EMployers类的对象,然后执行对象的display()方法即可。
⑵根据上边对示例的分析,可写出如下程序代码:public class TestEmployers{public static void main(String [] args){//创建两个Employers对象e1,e2Employers e1 = new Employers("0016","张明","男","1970.1.10","重庆","黄河路11号");Employers e2 = new Employers("0009","李岚","女","1988.7.5","南京","长江东路71号");s1.display(); //显示对象e1的信息System.out.println("----------------------");s2.display(); //显示对象e2的信息}}⑶编译并运行程序,程序执行结果如错误!未找到引用源。
所示。
这是第一个使用自定义类直接创建对象的Java应用程序。
从程序中可以看到,所谓面向对象程序设计,就是把程序中所有东西都可看作是对象,对象可以被看成是一种能保存数据且能对自身进行操作的新型变量,请认真阅读理解程序,逐步理解面向对象程序设计的基本思想,基本掌握面向对象程序设计的基本方法和技巧。
作为本实验的作业在完成自由练习1的基础上,完成下边的自由练习2:图0-1 示例4.1.2程序执行结果自由练习4.2 仿造示例4.1.2的测试程序,创建学生基本信息类Students对象,并显示对象的信息。
4.2 实验二:方法的定义及应用1. 实验目的1)进一步理解不同方法的定义与应用;2)基本掌握类方法、重载方法的构成及引用。
2.实验要求在已建立的自定义类中添加重载方法,进一步完善类的功能。
3.实验内容实验示例4.2.1 在实验示例4.1.1创建的Employers类中添加一个无参数的构造方法、两个显示方法分别输出对象的任意一个成员项、任意三个成员项的信息。
实现该示例的方法步骤如下:⑴根据题目要求,先添加一个无参数构造方法,如前所述,构造方法主要用于构造对象,给对象的各成员变量赋值,由于没有参数给对象的成员变量传递值,所以可在方法中给成员变量赋予默认初值,方法代码如下:public Employers(){number=”0000”;name=”无名氏”;sex=“男”;birthday=”1990.1.1”;home=“不祥”;address=”不祥”;ID=“000000000000000000”;}⑵再添加一个可输出对象的任一成员值的display()重载方法,在该方法中,需要一个参数传递要显示的成员值,方法的代码如下:public void display(String Value){System.out.println(Value);}⑶最后再添加一个可输出对象的任意3个成员值的display()重载方法,在该方法中,需要3个参数传递要显示的成员值,方法的代码如下:public void display(String Value1,String Value2,String Value3){System.out.println(Value1);System.out.println(Value2);System.out.println(Value3);}⑷将上述的三个方法的代码添加到Employers.java源程序文件中之后,编译Employers.java源程序代码,生成Employers.class字节码类文件,以供其他应用程序使用。
为了基本掌握重载方法的定义,请完成下边的自由练习作业:自由练习4.3 仿造示例4.2.1的操作,完成在学生基本信息类Students中添加一个无参数的构造方法、两个重载的display()方法,分别显示输出对象的任意两个成员项、任意三个成员项。
图4-2 示例4.2.2执行结果 实验示例4.2.2 编写测试程序TestNewEmployers.java ,创建Employers 对象并显示对象的相关信息。
完成该示例的方法步骤如下:⑴ 所谓测试,主要测试类的功能,本测试程序,主要是分别使用有参和无参构造方法构造创建Employers 对象,然后再分别执行对象的各display()重载方法显示对象的相关成员值。
⑵ 根据程序要求和以上分析,可给出如下的程序代码:public class TestNewEmployers{public static void main(String [] args){//创建两个Employers 对象e1,e2Employers e1 = new Employers(); //创建无名对象Employers e2=new Employers("0017","李峙","男","1988.1.5","南京","松花路21号","210108************");e1.setName("邙浏"); //设置修改对象的名字e1.setNumber("0029"); //设置修改对象的号码System.out.println("对象e1的职员号码、姓名、住址:");e1.display(e1.number); //显示职员号码e1.display(); //显示姓名e1.display(e1.address); //显示住址System.out.println("----------------------");System.out.println("对象e2的职员号码、姓名和性别:");e2.display(e2.number,,e2.sex); //显示对象e2的职员号码、姓名和性别 }}⑶ 编译并运行程序,程序执行结果如错误!未找到引用源。