JAVA类和对象_第1页
JAVA类和对象_第2页
JAVA类和对象_第3页
JAVA类和对象_第4页
JAVA类和对象_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JAVA类和对象类和对象 预习检查预习检查 v类与对象的关系是什么?类与对象的关系是什么? v定义一个类的语法是什么?定义一个类的语法是什么? v如何创建一个类的对象?如何创建一个类的对象? JAVA类和对象类和对象 面向对象编程 OOP 旨在在计算机程序中 模拟现实世界中的概念 在 OOP 中,现实世界的 所有事物全都被视为对象 能够在计算机程序中用类似的 实体模拟现实世界中的实体 设计和实现软件系统的方法 JAVA类和对象类和对象 v掌握类和对象的特征掌握类和对象的特征 v理解封装理解封装 v会创建和使用对象会创建和使用对象 本章目标本章目标 JAVA类和对象类和对象 万物皆对象万物皆对象

2、 v世界是由什么组成的?世界是由什么组成的? 名胜名胜 人人 物品物品 动物动物 ,植物,植物 JAVA类和对象类和对象 身边的对象身边的对象 布兰尼布兰尼 朱丽叶朱丽叶 顾客顾客 姓名:朱丽叶姓名:朱丽叶 年龄:年龄:28 体重:体重:52千克千克 操作:操作: 购买商品购买商品 姓名:布兰尼姓名:布兰尼 职衔:收银员职衔:收银员 年龄:年龄:35 体重:体重:60千克千克 操作:操作: 收款收款 打印账单打印账单 JAVA类和对象类和对象 对象的特征对象的特征属性属性 v属性属性对象具有的各种特征对象具有的各种特征 v每个对象的每个属性都拥有特定值每个对象的每个属性都拥有特定值 例如:布兰

3、尼和朱丽叶的体重不一样例如:布兰尼和朱丽叶的体重不一样 60kg 布兰尼布兰尼 属性属性 35岁岁 收银员布兰尼收银员布兰尼 JAVA类和对象类和对象 对象的特征对象的特征方法方法 v方法方法对象执行的操作对象执行的操作 打单打单 收银收银 方法方法 刷卡刷卡 收银员布兰尼收银员布兰尼 JAVA类和对象类和对象 对象的属性和方法对象的属性和方法 v列出尼古拉斯列出尼古拉斯凯奇驾驶的这辆法拉利凯奇驾驶的这辆法拉利F360 Spider的属性和方法的属性和方法 v列出小狗对象的属性和方法列出小狗对象的属性和方法 属性:属性: 品牌:法拉利品牌:法拉利 型号:型号:F360 Spider 颜色:黄色

4、颜色:黄色 价格:价格:380万元万元 方法:方法: 发动发动 停止停止 加速加速 属性:属性: 颜色:白色颜色:白色 方法:方法: 叫叫 跑跑 吃吃 JAVA类和对象类和对象 小结1 v说一说教室里的对象说一说教室里的对象 v描述他们的属性和方法描述他们的属性和方法 颜色:黑色颜色:黑色 品牌:品牌:BENQ 投影投影 姓名:张三姓名:张三 年龄:年龄:20 学习学习 类型:白炽灯类型:白炽灯 开开 关关 变亮变亮 变暗变暗 材制材制: 木质木质 支撑物品支撑物品 JAVA类和对象类和对象 封装封装 v对象同时具有属性和方法两项特性对象同时具有属性和方法两项特性 v对象的属性和方法通常被封装

5、在一起,共对象的属性和方法通常被封装在一起,共 同体现事物的特性,同体现事物的特性, 二者相辅相承,不能二者相辅相承,不能 分割分割 谁看见过只有谁看见过只有“完完 好的零件和颜色好的零件和颜色” 而不能开动的汽车?而不能开动的汽车? JAVA类和对象类和对象 封装的示例封装的示例 接口 采购经理 罗杰斯先生 法拉力公司 . 迪斯尼汽车公司 . 市场经理 雪莉女士 要求 JAVA类和对象类和对象 封装的示例封装的示例 有选择地提供数据 法拉力公司迪斯尼汽车公司 公共 电话号码 电子邮箱 产品种类 私有 备件的制造方法 备件库存 备件的制造成本 公共 电话号码 电子邮箱 汽车种类 私有 汽车的组

6、装方法 汽车库存 汽车的组装成本 JAVA类和对象类和对象 封装的示例封装的示例 实体法拉力公司实体迪斯尼汽车公司 Auti Ltd.Buto Ltd. 属性 电话号码 电子邮箱 产品种类 现有存货数量 雇员详情 所需物料详情 属性 电话号码 电子邮箱 汽车种类 汽车规格 雇员详情 库存详情 经销商详情 方法 接收订单 备件的制造方法 计算备件的制造成本 计算利润率 方法 发出订单 汽车的组装方法 计算汽车的组装成本 计算工资 发出订单 编制必要报告 JAVA类和对象类和对象 从对象抽象出从对象抽象出“类类” 抽取出下列对象的属性和方法的共同特征抽取出下列对象的属性和方法的共同特征 顾客顾客

7、JAVA类和对象类和对象 类类 顾客类顾客类 轿车类轿车类 类是模子,确定对象将会拥有的类是模子,确定对象将会拥有的 特征(属性)和行为(方法)特征(属性)和行为(方法) v类是对象的类型类是对象的类型 不同于不同于int类型:具有方法类型:具有方法 各种口味的球状冰淇淋各种口味的球状冰淇淋 球状冰淇淋模子球状冰淇淋模子 JAVA类和对象类和对象 类类 v类是用于组合各个对象所共有操作和属性的一种类是用于组合各个对象所共有操作和属性的一种 机制机制 形状类形状类 动物类动物类 汽车类汽车类 类的示例类的示例 “类是具有相同属性和行为的一组对象的集合类是具有相同属性和行为的一组对象的集合” JA

8、VA类和对象类和对象 类和对象的区别类和对象的区别 类是概念模型,类是概念模型, 定义对象的所定义对象的所 有特性和所需有特性和所需 的操作的操作 对象是真实的模型对象是真实的模型 类和对象类和对象 类定义实体类定义实体对象是实际的实体对象是实际的实体 类是对象的原型类是对象的原型 所有属于同一个类所有属于同一个类 的对象都具有相同的对象都具有相同 的特性和操作的特性和操作 JAVA类和对象类和对象 小结小结2 v类和对象有什么区别呢?类和对象有什么区别呢? 类是抽象的概念,仅仅是模板,比如说:类是抽象的概念,仅仅是模板,比如说:“人人” 对象是一个你能够看得到、摸得着的具体实体,比如:对象是

9、一个你能够看得到、摸得着的具体实体,比如: “小布什小布什” 小布什小布什 普京普京 克林顿克林顿 “人人”类类 特征(属性)特征(属性) 年龄年龄 体重体重 行为(方法)行为(方法) 衣衣 食食 住住 行行 JAVA类和对象类和对象 Java 是面向对象的语言是面向对象的语言 v所有所有Java程序都以类程序都以类class为组织单元为组织单元 v关键字关键字class定义自定义的数据类型定义自定义的数据类型 public class HelloJava public static void main(String args) System.out.println(使用使用Java语言理解程

10、序逻辑语言理解程序逻辑); JAVA类和对象类和对象 Java类模板类模板 v类将现实世界中的概念模拟到计算机程序中类将现实世界中的概念模拟到计算机程序中 public class 类名类名 /定义属性部分定义属性部分 属性属性1的类型的类型 属性属性1; 属性属性2的类型的类型 属性属性2; 属性属性n的类型的类型 属性属性n; /定义方法部分定义方法部分 方法方法1; 方法方法2; 方法方法m; JAVA类和对象类和对象 定义类定义类 v定义一个类的步骤定义一个类的步骤 1、定义类名、定义类名 2、编写类的属性、编写类的属性 3、编写类的方法、编写类的方法 JAVA类和对象类和对象 vcl

11、ass name v type variable1; v v type variableN; v v type methodname1(parameter-list) v /方法体 v v v type methodnameN(parameter-list) v /方法体 v v Java中定义类的通用格式:中定义类的通用格式: 成员变量(对象属性)成员变量(对象属性) 成员方法成员方法 (对象行为(对象行为 或操作)或操作) 类示例类示例 在类中,属性是通过成在类中,属性是通过成 员变量体现的,而操作员变量体现的,而操作 是用成员函数(又称为是用成员函数(又称为 方法)实现的。方法)实现的。

12、 JAVA类和对象类和对象 代码示例代码示例 如果要对变量进行操作,如果要对变量进行操作, vclass Test v vint a=10; vint b=20; vint c; vvoid add() v vc=a+b; v v 如果将如果将“c=a+b;c=a+b;”写在写在add()add()方法之外,方法之外, 就是不合法的,如下:就是不合法的,如下: class Testclass Test int a=10;int a=10; int b=20;int b=20; int c;int c; c=a+b;c=a+b;/不合法的,编译不合法的,编译 不能通过不能通过 void add(

13、)void add() JAVA类和对象类和对象 常见错误常见错误 public class .Book String bookName; String authorName; int pageNum; boolean isAvailable; 类命名规则:类命名规则: 1、不能使用、不能使用Java关键字关键字 2、首字母可以为字母,也可以是、首字母可以为字母,也可以是“_”或或“$ ”(建议不要这建议不要这 样样) 3、不能包含空格或、不能包含空格或“.”号号 代码错误代码错误 JAVA类和对象类和对象 类示例类示例 定义一个定义一个“人人”类类 vClass Person v Strin

14、g name,sex; Int age; Float height,weight; v Person类 属性: 姓名 性别 年龄 身高 体重 JAVA类和对象类和对象 类中的方法类中的方法 方法的定义方法的定义 方法的名称方法的名称 参数列表参数列表 方法的主体方法的主体 方法返回的对象类方法返回的对象类 型或原始类型型或原始类型 JAVA类和对象类和对象 类中的方法类中的方法 语法语法 ( , ,) 其中,其中, 是方法返回值的数据类型是方法返回值的数据类型 是用户自定义的方法名称是用户自定义的方法名称 方法的参数列表是一组变量声明。方法的参数列表是一组变量声明。 是方法的主体是方法的主体

15、JAVA类和对象类和对象 类中的方法类中的方法 不能为不能为 Java 中的关键字中的关键字 不能包含空格或点号不能包含空格或点号“.” 可以下划线可以下划线“_”、字母或、字母或“$”符号开头符号开头 方法的命名规则方法的命名规则: JAVA类和对象类和对象 类中的方法类中的方法 class Book String bookName; String authorName; int nopages; boolean available; void isAvailable() if(available = true) System.out.println(有这本书有这本书); . 方法方法 JA

16、VA类和对象类和对象 1.下列方法定义中,正确的是下列方法定义中,正确的是( D )。 A) int x( int a,b ) return (a-b); B) double x( int a,int b) int w; w=a-b; C) double x( a,b ) return b; D) int x( int a,int b) return a-b; 2.下列方法定义中,正确的是下列方法定义中,正确的是( D )。 A) void x( int a,int b ); return (a-b); B) x( int a,int b) return a-b; C) double x re

17、turn b; D) int x( int a,int b) return a+b; JAVA类和对象类和对象 3. 下列方法定义中,不正确的是下列方法定义中,不正确的是(D)。 A) float x( int a,int b ) return (a-b); B) int x( int a,int b) return a-b; C) int x( int a,int b ); return a*b; D) int x(int a,int b) return 1.2*(a+b); 4. 下列方法定义中,正确的是下列方法定义中,正确的是( A )。 A) int x( ) char ch=a; r

18、eturn (int)ch; B) void x( ) .return true; C) int x( ) .return true; D) int x( int a, b) return a+b; JAVA类和对象类和对象 类示例类示例 定义一个圆类定义一个圆类 Class Circle double bj=1.0; double ymj() returen bj*bj*3.14159; Circle类类 属性:属性: 半径半径 方法:方法: 求圆面积求圆面积 JAVA类和对象类和对象 下面是一个类的定义,请将其补充完整。下面是一个类的定义,请将其补充完整。 class _ String n

19、ame; int age; Student( _ s, int i) name=s; age=i; (Student String) JAVA类和对象类和对象 5.下面是一个类的定义,请将其补充完整。下面是一个类的定义,请将其补充完整。 _ A String s; _ int a=666; A(String s1) s=s1; static int geta( ) return a; (class static) JAVA类和对象类和对象 对象表示现实世界中某个具体的事物对象表示现实世界中某个具体的事物 抽象是从特定的实例中抽取共同的性质以形成一般化抽象是从特定的实例中抽取共同的性质以形成一般

20、化 概念的过程概念的过程 对象具有两方面的含义:对象具有两方面的含义: 对象对象 JAVA类和对象类和对象 类和对象类和对象 v类是具有共同属性和行类是具有共同属性和行 为的对象的抽象为的对象的抽象 v类可以定义为数据和方类可以定义为数据和方 法的集合法的集合 v类也称为模板,因为它类也称为模板,因为它 们提供了对象的基本框们提供了对象的基本框 架架 类 对象 抽象抽象 实例化实例化 属性或状态属性或状态 操作或行为操作或行为 数据或变量数据或变量 方法方法 封装的实体封装的实体=数据数据+方方 法法 JAVA类和对象类和对象 对象对象 类是抽象,而对象是具体(实例化)。类是抽象,而对象是具体

21、(实例化)。 对象的创建:对象的创建: 创建对象的过程就是实例化类的过程创建对象的过程就是实例化类的过程 创建的步骤:创建的步骤: 1、对象的声明、对象的声明 2、对象的实例化及对象的初始化、对象的实例化及对象的初始化 JAVA类和对象类和对象 创建对象创建对象 声明对象:声明对象: 类名类名 对象名;对象名; 例如:例如: 存在一个类:存在一个类: class People int a; String name; 然后即可声明该类的对象:然后即可声明该类的对象: People galen; JAVA类和对象类和对象 对象的实例化及初始化对象的实例化及初始化 对象名对象名=new 类名类名(

22、); 关键字关键字 new 通常称为创建运算符,用于分配对象内存,通常称为创建运算符,用于分配对象内存, 并将该内存初始化为缺省值。并将该内存初始化为缺省值。 也可以利用下面的语法把声明和实例也可以利用下面的语法把声明和实例 化用一条语句:化用一条语句: 类名类名 对象名对象名=new 类名类名( ); 创建对象创建对象 例如,实例化上面已经声明的例如,实例化上面已经声明的galen对象:对象: galen=new People(); 例如例如 People galen=new People(); JAVA类和对象类和对象 当创建一个类时,只是当创建一个类时,只是 创建了一种新的数据类创建了一

23、种新的数据类 型。对象是类的一个实型。对象是类的一个实 例。例。 class FruitDemo public static void main(String args) Fruit f = new Fruit(true,false,50.0F); 创建对象创建对象 对象示例对象示例 JAVA类和对象类和对象 1.设设 A为已定义的类名,下列声明为已定义的类名,下列声明A类的对象类的对象a的语句中正确的是的语句中正确的是( D)。 A) float A a; B) public A a=A( ); C) A a=new int( ); D) static A a=new A( ); 2设设 A

24、为已定义的类名,下列声明为已定义的类名,下列声明A类的对象类的对象a的语句中正确的是的语句中正确的是(A)。 A) public A a=new A( ); B) public A a=A( ); C) A a=new class( ); D) a A; 3.设设 X 、Y 均为已定义的类名,下列声明类均为已定义的类名,下列声明类X的对象的对象x1的语句中的语句中 正确的是正确的是(C)。 A) public X x1= new Y( ); B) X x1= X ( ); C) X x1=new X( ); D) int X x1; 4. 设设X 、Y为已定义的类名,下列声明为已定义的类名,下

25、列声明X类的对象类的对象x1的语句中正确的语句中正确 的是的是(A)。 A) static X x1; B) public X x1=new X(int 123); C) Y x1; D) X x1= X( ); JAVA类和对象类和对象 5.设设 A 、B 均为已定义的类名,下列声明类均为已定义的类名,下列声明类A的对象的对象a1的语句中正确的语句中正确 的是的是(C)。 A) public A a1= new B( ); B) A a1= A ( ); C) A a1=new A( ); D) int A a1; 6. 设设A 、B为已定义的类名,下列声明为已定义的类名,下列声明A类的对象

26、类的对象a1的语句中正确的是的语句中正确的是(A)。 A) static A a1; B) public A a1=new A(int 123); C) B a1; D) A a1= A( ); 7. 有一个类有一个类Person,以下为其构造方法的声明,其中正确的是,以下为其构造方法的声明,其中正确的是( A )。 A)public Person (int x). B)static Person (int x). C)public a(int x). D)void Person (int x). 8. 有一个类有一个类Student,以下为其构造方法的声明,其中正确的是,以下为其构造方法的声

27、明,其中正确的是( B )。 A)void Student (int x). B) Student (int x). C)s(int x). D)void s(int x). JAVA类和对象类和对象 对象的使用对象的使用 使用对象的变量使用对象的变量 v通过使用运算符通过使用运算符“.”,对象可以实现,对象可以实现 对自己的变量的访问。对自己的变量的访问。 语法:语法: v对象名对象名.变量名变量名 v例如例如People类的对象类的对象galen,就可以使用:,就可以使用: ,来访问变量名,来访问变量名name了。了。 JAVA类和对象类和对象 调用对象的方法调用对象的

28、方法 使用对象的方法:使用对象的方法: v通过运算符通过运算符“.”来调用类的方法,当对象调用方来调用类的方法,当对象调用方 法时,方法中出现的成员变量就是指该对象的成员法时,方法中出现的成员变量就是指该对象的成员 变量。变量。 语法:语法: v对象名对象名.方法名方法名(参数参数) JAVA类和对象类和对象 实例分析实例分析 1说明类说明类 2说明类的变量说明类的变量 3说明类的方法说明类的方法 4初始化变量初始化变量 5编写代码显示测试值编写代码显示测试值 6编写编写main()方法的代码方法的代码 7调用方法调用方法 8编译运行程序编译运行程序 任务单任务单 JAVA类和对象类和对象 实

29、例分析实例分析 v步骤步骤1:说明类:说明类 public class Customer JAVA类和对象类和对象 实例分析实例分析 v步骤步骤2:定义类的变量:定义类的变量 public class Customer public String customerId; public String customerName; public String customerPhone; public String customerPostcode; JAVA类和对象类和对象 实例分析实例分析 v步骤步骤3:说明类中的方法:说明类中的方法 public class Customer public S

30、tring customerId; public String customerName; public String customerPhone; public String customerPostcode; public void displayDetails() /写入显示顾客的信息的代码写入显示顾客的信息的代码 JAVA类和对象类和对象 实例分析实例分析 v步骤步骤4:初始化变量:初始化变量 public class Customer public String customerId; public String customerName; public String custome

31、rPhone; public String customerPostcode; public Customer( ) customerId= “C0001; customerName= “张三张三; customerPhone= ; customerPostcode= “410000; public void displayDetails() /写入显示顾客的信息的代码写入显示顾客的信息的代码 JAVA类和对象类和对象 实例分析实例分析 v步骤步骤5:编写代码显示测试值:编写代码显示测试值 public class Customer public String customerId; publ

32、ic String customerName; public String customerPhone; public String customerPostcode; public Customer( ) customerId= “C0001; customerName= “张三张三; customerPhone= ; customerPostcode= “410000; public void displayDetails() System.out.println(“Id of an Customer is +customerId); System.out.println(“Name of

33、 an Customer is +customerName); System.out.println(“Phone of an Customer is +customerPhone); System.out.println(“Postcode of an Customer is +customerPostcode); JAVA类和对象类和对象 实例分析实例分析 v步骤步骤6:编写:编写main()方法方法 v步骤步骤7:调用方法:调用方法 v步骤步骤8:编译运行程序:编译运行程序 public class Customer public String customerId; public St

34、ring customerName; public String customerPhone; public String customerPostcode; public Customer( ) customerId= “C0001; customerName= “张三张三; customerPhone= ; customerPostcode= “410000; public void displayDetails() System.out.println(“Id of an Customer is +customerId); System.out.println(“Name of an C

35、ustomer is +customerName); System.out.println(“Phone of an Customer is +customerPhone); System.out.println(“Postcode of an Customer is +customerPostcode); public static void main(String args ) Customer customerObject = new Customer(); customerObject. displayDetails(); JAVA类和对象类和对象 1、 public static c

36、lass V1 int a; void m1() System.out.println(a); public static void main(String s) V1 v=new V1(); v.a=10; v.m1(); 程序分析:判断下列程序运行结果程序分析:判断下列程序运行结果 JAVA类和对象类和对象 示例:使用成员数据和方法示例:使用成员数据和方法 class Box double width; double height; double depth; double volume() return width * height * depth; public class BoxDe

37、mo public static void main(String args) Box mybox = new Box(); double vol; / 给盒子的实例变量赋值给盒子的实例变量赋值 mybox.width = 10; mybox.height = 20; mybox.depth = 15; /返回盒子的体积返回盒子的体积 vol = mybox.volume(); System.out.println(Volume is + vol); 圆点操作符圆点操作符 JAVA类和对象类和对象 public void outValue( ) System.out.println(name:+name); System.out.println(sex:+sex); System.out.println(age:+age); System.out.println(height:+height); System.out.println(weight:+weight); public static void main(String args ) Person zhangsan=new Person( ); =zhangsan; zhangsan.sex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论