面向对象程序设计-Java语言01
- 格式:ppt
- 大小:198.50 KB
- 文档页数:35
第1章Java语言概述本章知识目标:❑了解面向对象程序设计的特性。
❑掌握Java应用程序和Applet程序的调试过程。
❑了解Java的开发与运行环境。
❑了解Java语言的特点。
Java语言从1995年问世至今,得到众多厂商的支持,成为软件开发的主流技术。
Java 是面向对象的程序设计语言,拥有跨平台、多线程等众多特性,在网络计算中得到广泛应用。
1.1 面向对象程序设计的特性早期的编程语言如Fortran、C等都是面向过程的语言,面向过程编程的一个明显特点是数据与程序是分开的。
但随着计算机软件的发展,程序越做越大,软件维护也日益困难。
面向对象编程贴近于人类思维方式,面向对象的软件开发将事物均看作对象,对象有两个特征:状态与行为,对象可以通过自身的行为来改变自己的状态。
最新的程序设计语言一般为面向对象的语言,面向对象程序设计具有如下四大特性。
1.封装性(Encapsulation)面向对象的第一个原则是把数据和对该数据的操作都封装在一个类中,类的概念和现实世界中的“事物种类”是一致的。
例如,电视机就是一个类,每台电视机都有尺寸、品牌、频道等属性。
我们可用on/off开关来开启电视,通过更改频道让电视机播放不同的节目。
对象是类的一个实例化结果,对象具有类所描述的所有属性以及方法。
对象是个性化的,在程序设计语言中,每个对象都有自己的存储空间来存储自己的各个属性值,有些属性本身又可能由别的对象构成。
每个对象都属于某个类。
面向对象程序设计就是设计好相关的类,类中有属性和方法。
在统一建模语言UML中使用如图1-1所示的符号来描述对象和类的结构,其中,属性用来描述对象的状态,而方法则用来描述对象的行为。
2.继承性(Inheritance)继承是在类、子类以及对象之间自动地共享属性和方法的机制。
类的上层可以有父类,下层可以有子类,形成一种层次结构,如图1-2所示。
一个类将直接继承其父类的属性和方法,而且继承还具有传递性,因此,它还将间接继承所有祖先类的属性和方法。
面向对象程序设计Java是一种面向对象的编程语言,它提供了一种灵活的方式来构建可重用的软件组件。
它的主要特点是:
1. 面向对象:Java是一种面向对象的编程语言,它支持封装、继承和多态等面向对象的特性,可以更好地抽象和组织代码,提高代码的可重用性。
2. 平台无关性:Java是一种跨平台的编程语言,它可以在多种操作系统上运行,而不需要重新编译代码。
3. 安全性:Java提供了一种安全的运行环境,可以防止恶意代码的执行,保护系统免受病毒和恶意软件的攻击。
4. 强大的类库:Java提供了一个强大的类库,可以让开发者更快捷地开发应用程序。
5. 自动垃圾回收:Java拥有一个自动垃圾回收机制,可以自动回收不再使用的内存,减少内存泄漏的可能性。
第1章 Java语言概述面向对象的软件开发和利用面向对象技术进行问题求解是当今计算机技术发展的重要成果和趋势之一,而Java语言的产生与流行则是Internet发展的客观要求。
本章将简要介绍软件开发方法的变革和面向对象程序设计中的基本概念,介绍Java语言的特点及开发Java 程序的基本步骤等,使读者对面向对象软件开发方法的基本思想和特点有一定的了解,熟悉Java语言特点、与C/C++的主要差异、Java程序执行过程、Java运行环境及开发工具等基本知识。
1.1 面向对象的软件开发概述人类已经进入了21世纪。
21世纪是信息社会,是知识经济的时代。
信息是战略资源,信息的挖掘、增加、管理、流通、利用以及更新离不开计算机。
计算机广泛又深刻地改变了人类的生活。
计算机系统是由计算机硬件子系统与相应软件子系统构成的,计算机软件是计算机的灵魂。
软件是相对计算机硬件而言的,是事先编制好的具有特定功能和用途的程序系统及其相应说明文件的统称。
随着计算机硬件的发展和计算机的广泛应用,软件系统的发展也从简单到复杂、从小型到大型、从封闭到开放。
就软件开发方法而言:在二十世纪40、50年代,由于每台计算机都是单独设计的,计算机作为价格昂贵的特殊计算工具,实现计算任务的程序由极其小部分专业人士专门编制,所以无需什么开发方法。
在60年代,虽然程序设计人员开始意识到软件的相对独立性的重要作用,但由于缺乏软件开发方法和技术,编程人员只能针对特定问题,根据所需功能,制定相应的方法。
在70年代,软件开发技术有了很大的发展,主要表现在:①数据结构与算法成为一种独立研究对象。
通过对数据结构与算法的研究,提高了计算机的时空效率。
②将结构化程序设计方法发展为结构化开发方法,提出了重要的软件开发模型——瀑布模型。
软件开发也从依靠个人的技巧、经验和智慧发展到按系统方法通过遵从一系列规范进行开发的阶段。
在80年代,由于软件系统规模的扩大,单纯的编程技术已经不是开发软件系统的重点,而如何管理系统的结构,如何管理系统各部分之间的接口,如何将系统各部分集成为一体等成为软件系统开发技术的焦点。
JAVA语言与面向对象程序设计课后习题答案第1章面向对象软件开发概述1.简述面向过程问题求解和面向对象问题求解的异同。
试列举出面向对象和面向过程的编程语言各两种。
请问:面向过程问题解,以具体内容的解题过程为研究和同时实现的主体,其思维特点更吻合于计算机;面向对象的问题解,则就是以d对象‖为主体,d对象‖就是现实世界的实体或概念在计算机逻辑中的抽象化则表示,更吻合于人的思维特点。
面向过程的编程语言:c,pascal,foratn。
面向对象的编程语言:c++,java,c#。
2.详述对象、类和实体及它们之间的相互关系。
尝试从日常碰触至的人或物中抽象化出来对象的概念。
答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。
类是同种对象的集合与抽象。
类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。
如果类是抽象的概念,如d电视机‖,那么对象就是某一个具体的电视机,如d我家那台电视机‖。
3.对象存有哪些属性?什么就是状态?什么就是犯罪行为?二者之间有何关系?建有对象d学生‖,精义这个对象设计状态与犯罪行为。
答:对象都具有状态和行为。
对象的状态又称作对象的静态属性,主要指对象内部所涵盖的各种信息,也就是变量。
每个对象个体都具备自己专有的内部变量,这些变量的值标明了对象所处的状态。
行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。
学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等;学生的行为:自我介绍、入学注册、选课、参加比赛等。
4.对象间存有哪三种关系?对象d班级‖与对象d学生‖就是什么关系?对象d学生‖与对象d大学生‖就是什么关系?答:对象间可能存在的关系有三种:包含、继承和关联。
对象d班级‖与对象d学生‖是包含关系。
对象d学生‖与对象d大学生‖是继承关系。
第一章Java语言基础指出Java语言的主要特点和ava程序的执行过程。
答:强类型。
编译和解释。
自动无用内存回收功能。
面向对象。
与平台无关。
安全性。
分布式计算。
多线程。
2.说出开发与运行Java程序的主要步骤。
答:安装SUN的JDK,配置class path编写源文件。
编译。
运行。
3.如何区分应用程序和小应用程序。
答:应用程序必须在一类中定义一个main()方法,该方法代表应用程序的入口。
小应用程序不必定义main()方法,但是必须继承applet类。
4.说出Java源文件的命名规则。
答:和类命名规则一样,首字母大写。
5.选择一种上机环境,参照实例,编写一个输出“hello world!”字样的Java程序。
答:选择SUN的IDE,用UltraEdit-32编写如下://HelloWorld.java/***<p>这是第一个程序</p>*@author 饶林*@see */class HelloWorld{public static void main(String[] args) {System.out.println("Hello World!");}}6.Java用什么字符集?共有多少个不同的字符?答:Java语言使用Unicode字符集,共有65535个字符。
7.Java语言标识符的命名规则是什么?答:由字母(包括英文字母、下划线、美元字符、文字字符)和数字字符组成。
限定标识符的第一个字符不能是数字。
8.Java有哪些基本的数据类型,它们的常量又是如何书写的?答:基本的数据类型也称为原始数据类型,是系统预先规定的一些常用类型。
它们是:整数类型、浮点数(实数)类型、字符(文字)类型、逻辑类型(布尔型)。
9.指出下列内容那些事Java语言的整形常量,哪些是浮点数类型常量,那些两者都不是?1)E-4 2)A423 3)-1E-31 4)0xABCL 5).32E31 6)087 7)0x L8)003 9)0x12.5 10)077 11)11E 12)056L 13)0. 14).0答:整形常量:4,5,6,8,10,12浮点型:1,3,9,13,14两者都不是:2,7,11第二章运算和语句1.Java字符能参加算术运算吗?答:能,例如char类型a自加后变b2.占字节多的变量能直接赋给占字节少的变量吗?答:不能,需强制类型转换。
第四章面向对象程序设计目录第一节类和对象第二节定义方法第三节静态成员第四节包装类01 类和对象类的定义类的定义也称为类的声明。
类中含有两部分元素,分别是数据成员变量和成员方法。
类定义的一般格式如下。
修饰符 class 类名 [extends父类名]{修饰符类型成员变量1;修饰符类型成员变量2;……修饰符类型成员方法 1 (参数列表){方法体}……}其中,class是关键字,表明其后定义的是一个类。
含有class的这一行称为类头,后面大括号括住的部分称为类体。
class前的修饰符可以有多个,用来限定所定义的类的使用方式。
类名是用户为该类所起的名字,它必须是一个合法的标识符,并尽量遵从命名约定。
extends是关键字。
如果所定义的类是从某一个父类派生而来,那么,父类的名字要写在extends之后。
类定义中的数据成员变量可以有多个。
成员变量前面的类型是该变量的类型;类中的成员方法也可以有多个,其前面的类型是方法返回值的类型。
如果没有返回值,则写void。
方法体是要执行的真正语句。
在方法体中还可以定义该方法内使用的局部变量,这些变量只在该方法内有效。
方法的参数列表中可以含有0 个或多个参数,每个参数的前面要指明该参数的类型。
类定义中的修饰符是访问权限修饰符,包括 public、private和protected,也可以不写,表示是默认修饰符。
它们既可以用来修饰类,又可以修饰类中的成员,修饰符决定所修饰成员在程序运行时被访问的方式。
具体来说,用public修饰的成员表示是公有的,也就是它可以被其他任何对象访问。
类中限定为private的成员只能被这个类本身访问,在类外不可见。
用 protected修饰的成员是受保护的,只可以被同一包及其子类的实例对象访问。
如果不写任何修饰符,则表明是默认的,相应的成员可以被所在包中的各类访问。
类的示例使用类可以构造所需的各种类型。
例如,程序中要说明日期这个类型,它含有3个成员变量:日、月、年,分别用3个整数来表示。