第3章 使用类和对象编程 软 件 学 院 朱士明 副教授.

Slides:



Advertisements
Similar presentations
1 类的严谨定义格式如下: [ 类修饰符 ] class 类名 [extends 父类名 ] [implements 接口列表 ] { 数据成员 成员方法 } 类的严谨定义.
Advertisements

第4讲 使用类和对象编程(二) 对象 静态变量和静态方法 再谈方法.
项目三 Java面向对象程序设计 任务一 了解面向对象程序设计的基本概念 任务二 掌握类的使用方法 任务三 熟悉对象的创建与使用方法
JAVA 第四讲 面向对象程序设计 崔震海
第4章 Java中的几个关键字 Java 语言编程技术.
西南科技大学网络教育系列课程 高级语程序设计(Java) 第四章 类与对象.
第3章 面向对象的编程技术.
第四章 类 和 对 象.
第4章 类 和 对 象.
3.6 static关键字 3.7 内部类 3.8 Java的帮助文档
第四章 对象与类 掌握面向对象程序设计语言的特点 理解对象、类,类和对象的关系 掌握类,成员变量,方法的定义 掌握构造方法的定义
Java软件开发基础 4. 面向对象的程序设计基础.
第3章 面向对象程序设计.
配合< Java面向对象程序设计>例子源代码一起使用
Java的面向对象程序设计.
四資二甲 第三週作業 物件導向程式設計.
Java面向对象程序设计 第19讲(期末复习一)
Ch07 介面與多重繼承 物件導向程式設計(II).
重庆大学计算机学院 《Java程序设计之网络编程》 教学课件 重庆大学计算机学院
第五章 Java面向对象编程基础 类:现实世界中实体的抽象集合。 5.1定义类 定义类的过程就是定义类的属性和服务的过程;
第14章 c++中的代码重用.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
类与对象 Java 实用技术4 类与对象
第10讲 Java面向对象编程基础(4) 教学目标 主要内容.
Java 第12讲:static与方法重载 主讲教师:李焱 讲师.
第4章 类、对象和接口 4.1 编程语言的几个发展阶段 4.11 abstract 类和abstract方法 4.2 类
第4章 类和对象 学习导读 本章着重介绍Java编程中类和对象等非常重要的概念。
行 言 面向对象程序设计基础(下) 类属性 类方法 包 限定符 接口 内部类.
第六章 JAVA语言中的面向对象特性 6.1 类 6.2 对象 6.3 面向对象的特性 6.4 抽象类、接口和Inner Class.
第四章 Java面向对象程序设计.
面向对象的概念 构造方法 this和static关键字
3.3 Java的非访问控制符 Java的非访问控制符 static 静态修饰符 修饰属性和方法 abstract 抽象修饰符 修饰类和方法
JAVA 面向对象基础知识 主要内容: 1.面向对象基本概念 2.Java的类与对象 3.成员变量与封装 成员方法.
第4章 面向对象编程 主要任务: 理解面向对象编程的基本概念 了解类的封装方法 如何创建类和对象 了解成员变量和成员方法的特性
Java语言程序设计 第四部分 封装、继承和多态.
第4章 类、对象和接口 4.1 编程语言的几个发展阶段 4.2 类 4.3 对象 4.4 static 关键字 4.5 this 关键字
授课老师:龚涛 信息科学与技术学院 2018年4月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
Java习题解析.
管理信息结构SMI.
辅导课程六.
中国矿大计算机学院杨东平 第5章 接口和包 中国矿大计算机学院杨东平
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第二章 Java语言基础.
C/C++/Java 哪些值不是头等程序对象
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
JAVA 编 程 技 术 主编 贾振华 2010年1月.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
$9 泛型基础.
C#面向对象程序设计 $6 深入理解类.
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
本节内容 类成员的访问控制 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Chapter 18 使用GRASP的对象设计示例.
辅导课程十五.
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
第7章 模板 陈哲 副教授 南京航空航天大学 计算机科学与技术学院.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
JAVA 程式設計與資料結構 第三章 物件的設計.
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
對於成員(member)存取權的限制 成員的資料被毫無限制的存取,任誰都可以指定任意值給成員,Java語言為了防止這種現象的產生,規定:有一種成員的資料不能任由類別外部的任何人隨意存取。
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
輸出執行結果到螢幕上 如果要將執行結果的文字和數值都「輸出」到電腦螢幕時,程式要怎麼寫? class 類別名稱 {
Summary
Presentation transcript:

第3章 使用类和对象编程 软 件 学 院 朱士明 副教授

1.创建类 2.成员变量与方法 3.对象 4.静态变量和静态方法 5.再谈方法 6.内部类 7.实例

3.1 创建类(class) 1.含义: 类是组成Java程序的基本元素,它封装了一系列的变量(即数据成员,也称为“域(field)”)和方法(即成员方法 method),是一类对象的原型。 类是对象的高度抽象,是同类对象公共属性的抽象 创建一个新的类,就是创建一个新的数据类型。实例化一个类,就得到一个对象。因此,对象就是一组变量和相关方法的集合,其中变量表明对象的状态、属性,方法表明对象所具有的行为。

2. 类定义 对一个用户自定义的类,要为类取一个名字,并指明类中包含哪些变量和方法以及相应的类型、实现等,这称为类的定义。类定义语句的一般形式为: [修饰符]class 类名 [extends 父类名] [implements 接口名表] { 成员变量声明 // 类体 方法成员声明 } 其中class、extends和implements都是Java的关键字。extends(表示继承)和implements(表示接口)等内容,以后逐渐介绍。 修饰符:public公有类、abstract抽象类、final终类

类定义: 类名:使用Java语言合法的标识符来对自定义的类命名。 类体:在大括号中定义该类中包含的数据成员和成员方法。 允许定义没有任何成员的空类。 【例3.1】定义一个计算三角形周长和面积的类。

3.2 成员变量与方法 1.成员变量的定义 成员变量位于类体内成员方法外的变量; 方法变量位于方法体内的变量。 定义形式:[访问权限符][static][final]类型 变量名1[,变量名2,…] 访问权限符:public(公有)、protected (保护)、 private (私有) 2.成员变量的初始化 (1)默认值 (2)定义指定[例3.2] 3.成员方法的创建 定义形式: [修饰符][static][final]返回值类型 方法名(){ 方法体 }

4.方法的调用 (1)格式: 对象名.方法名(); 或: 对象名.方法名(实参1[,实参2,…]); (2)例3.3 5.成员变量和方法的两种形式 (1)实例变量与实例方法: 对象名.成员变量, 对象名.方法名(); (2)类变量与类方法: 用static修饰,类名.方法名()或对象名.方法名();

3.3 类对象 一旦定义了所需的类,就可以创建该类的变量,创建类的变量称为类的实例化,类的变量也称为类对象、类的实例等。 类的对象是在程序运行中创建生成的,其所占的空间在程序运行中动态分配。当一个类的对象完成了它的使命,为节省资源,Java的垃圾收集程序就会自动收回这个对象所占的空间。即类对象有自己的生命周期。 1.创建对象 创建类的对象需用new运算符,一般形式为: 类名 对象名 = new 类名(参数1,参数2,…); 或者 类名 对象名; 对象名 = new 类名(参数1,参数2,…);

new运算符用指定的类在内存中分配空间,并将存储空间的引用存入语句中的对象变量。 2.引用对象 在创建了类的对象后,就可以对对象的各个成员进行访问,进行各种处理。运算符“.”在这里称为成员运算符,在对象名和成员名)之间起到连接的作用,指明是哪个对象的哪个成员。 访问对象成员的一般形式为: 对象名.数据成员名 对象名.成员方法名() // 方法名带圆括号 3.垃圾回收(Garbage collection) Java虚拟机提供了一个系统级垃圾回收线程,负责自动回收无用对象所占内存,这种机制称为垃圾回收。 终级器finalize().

3.4 静态变量和静态方法(static修饰符) 两点注意: (1)静态方法不能访问属于某个对象的成员变量,而只能处理属于整个类的成员变量。即静态方法只能处理静态变量。 (2)可以用两种方式调用静态成员,它们的作用相同。 变量:类名.变量、类对象.变量。 方法:类名.方法名()、类对象.方法名()。

【例3.4】P54 [示例]静态成员的使用。 class StaticDemo { static int a = 42; static int b = 99; static void callme() { System.out.println("a = " + a); } class StaticByName { public static void main(String args[]) { StaticDemo.callme(); System.out.println("b = " + StaticDemo.b);

3.5 再谈方法 1.重载方法 (1)含义:名字相同,但参数和返回值不同的多个方法叫方法的重载. (2)注意:必须是参数不同.

2.构造方法 在Java中,任何变量在被使用前都必须先设置初值。Java提供了为类的成员变量赋初值的专门功能:构造方法(constructor)。构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面: (1)构造方法名与类名相同。 (2)构造方法不返回任何值,也没有返回类型。 (3)每一个类可以有零个或多个构造方法。 (4)构造方法在创建对象时自动执行,一般不能显式地直接调用。 [例3.5][3.6]P57-58

3.6 内部类 多个类的两种定义形式:并列和嵌套。 1.并列定义:即一个类接着一个类进行定义,它们之间是并列的关系。 2.嵌套定义(内部类):即在一个类中定义另外的类,它们之间是包含和被包含的关系,可分别称为包含类和内部类(或嵌套类)。采用何种形式定义多个类,由类之间的访问关系确定。 3.内部类说明: (1)内部类(InClass)与顶层类(OutClass) (2)内部类为类成员,引用方法有OutClass对象. InClass或OutClass. InClass (3)匿名内部类,直接内部类的对象.

内部类的名称不能与所嵌套的类相同,而且只能在定义的范围中使用。内部类具有下面一些特性: (1)内部类可以被定义在方法中。它可以访问嵌套类的方法的final变量。 (2)内部类可以使用所嵌套类的类变量和实例变量以及所嵌套的块中的本地变量。 (3)内部类可以被定义为abstract抽象类。 (4)内部类可以被声明为private或protected,以便防护它们不受来自外部类的访问。访问保护不阻止内部类使用其他类的任何成员。 (5)一个内部类可以作为一个接口,由另一个内部类实现。 (6)声明为static的内部类成为顶层类。这些内部类失去了在本地范围和其他内部类中使用数据或变量的能力。 (7)内部类不能声明任何static成员,只有顶层类可以声明static成员。因此,一个需求static成员的内部类必须使用来自顶层类的成员。 [例3.7]P59-60