JAVA面向对象基础课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《JAVA面向对象基础课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 面向 对象 基础 课件
- 资源描述:
-
1、3 Sept.2008 Neusoft Confidential第三章第三章 面向对象基础面向对象基础目标目标:介绍面向对象编程的基本思想,通过本课的学习,应该掌握介绍面向对象编程的基本思想,通过本课的学习,应该掌握如下知识:如下知识:1)理解什么是类、对象、构造方法,)理解什么是类、对象、构造方法,2)对象在内存中的表现形式及如何使用对象等。)对象在内存中的表现形式及如何使用对象等。3)Java的垃圾回收机制及访问修饰符。的垃圾回收机制及访问修饰符。本章要点本章要点类和对象的关系面向对象的思想子类实例化的过程对象的创建构造方法变量的初始化顺序对象创建的内存模型垃圾回收机制Java中的关键字t
2、his关键字static关键字主要内容主要内容类和对象的关系类和对象的关系1构造方法构造方法2对象创建的内存模型对象创建的内存模型3Java中的关键字中的关键字4类和对象的关系类和对象的关系面向对象的思想(面向对象的思想(Object Oriented Programming,简称,简称OOP)面向对象的基本思想是,从现实世界中客观存在的事物出发来构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式面向对象更加强调运用人类在日常的思维逻辑中经常采用的思维方法与原则面向对象的三个特征面向对象的三个特征封装继承多态类和对象的关系类和对象的关系面向对象与面向过程面向对象与面向过程public
3、class Icebox static void putThings(String things)System.out.println(把冰箱门打开);System.out.println(把+things+放进来);System.out.println(把冰箱门关上);void OpenIcebox()printf(“把冰箱门打开把冰箱门打开n);void PutElephantI()printf(“把大象放冰箱把大象放冰箱n);void CloseIcebox()printf(“把冰箱们关上把冰箱们关上n);int main()OpenIcebox();PutElephantIn();Cl
4、oseIcebox();public class Mine public static void main(String args)Icebox.putThings(大象);面向对面向对象象面向过程面向过程类和对象的关系类和对象的关系类的定义类的定义把相似的对象划归成一个类。在软件设计中,类,就是一个模板,它定义了通用于一个特定种类的所有对象的属性(变量)和行为(方法)。类和对象的关系类和对象的关系类的定义类的定义?西游记游戏软件中的游戏人物孙悟空:孙悟空的武器是金箍棒,战斗力五颗星,耐力五颗星唐 僧:唐僧没有武器,战斗力为零,耐力五颗星猪八戒:猪八戒的武器是耙子,战斗力四颗星,耐力两颗星沙
5、僧:沙僧的武器是月牙铲,战斗力三颗星,耐力四颗星类和对象的关系类和对象的关系类的定义类的定义修饰符一般为public,也可以没有修饰符。注意类名的命名规范。类名一般大写类的成员:成员变量(属性)成员函数(方法)通过“.”调用属性和方法访问权限控制符 class 类名 类的成员 类的完全声明形式类的完全声明形式public abstract|final class 类名称类名称 extends 父类名称父类名称 implements 接口名称列表接口名称列表 变量成员声明及初始化;变量成员声明及初始化;方法声明及方法体;方法声明及方法体;变量声明格式变量声明格式public|protected|
6、private public|protected|private staticstatic finaltransient volatile finaltransient volatile变量数据类型变量数据类型 变量名变量名1=1=变量初值变量初值,变量名变量名2=2=变量初值变量初值,;格式说明格式说明publicpublic、protectedprotected、private private 为访问控制符为访问控制符staticstatic指明这是一个静态成员变量指明这是一个静态成员变量finalfinal指明变量的值不能被修改指明变量的值不能被修改transienttransient指
7、明变量是临时状态指明变量是临时状态volatilevolatile指明变量是一个共享变量指明变量是一个共享变量类的方法声明格式类的方法声明格式:public|protected|privatestaticfinalabstractnativesynchronized 返回类型返回类型 方法名方法名(参数列表参数列表)throws exceptionList 方法体方法体;格式说明方法修饰public、protected、private 为存取控制符static指明方法是一个类方法final指明方法是一个终结方法abstract指明方法是一个抽象方法native用来集成java代码和其它语言的代
8、码synchronized用来控制多个并发线程对共享数据的访问方法调用给对象发消息意味着调用对象的某个方法给对象发消息意味着调用对象的某个方法从对象中取得信息从对象中取得信息 修改对象的状态或进行某种操作修改对象的状态或进行某种操作 进行计算及取得结果等进行计算及取得结果等调用格式调用格式.(参数列表)(参数列表)称点操作符称点操作符“.”前面的前面的为消息的接收者为消息的接收者(receiver)参数传递参数传递值值传递:参数类型为基本数据类型时传递:参数类型为基本数据类型时引用传递:参数类型为对象类型或数组时引用传递:参数类型为对象类型或数组时访问修饰符访问修饰符该类或非该类均该类或非该类
9、均可访问可访问public只有该类可以访只有该类可以访问问private相同数据包中的相同数据包中的类可以访问类可以访问default该类及其子类的该类及其子类的成员可以访问,成员可以访问,同一个包中的类同一个包中的类也可访问也可访问protected访问修饰符访问修饰符访问修饰符可访问性位置位置private默认默认protected public同一个类同一个类是是是是是是是是同一个包内的类同一个包内的类否否是是是是是是不同包内的子类不同包内的子类否否否否是是是是不同包并且不是子不同包并且不是子类类否否否否否否是是类和对象的关系类和对象的关系类的定义类的定义Employee.javacla
10、ss Employee String name;int age;double salary;public String showName()System.out.println(name);return name;public int showAge()System.out.println(age);return age;public void updateName(String name2)name=name2;public void getSalary()System.out.println(The salary of this month is 2000);属性属性方法方法类和对象的关系
11、类和对象的关系类的定义类的定义 练习 Person.java定义一个Person类,Person类具有名字、年龄及性别等属性,并具有一个getInfo()方法可以打印出Person类的属性,sayHello()方法和大家说“Hello everybody!”类和对象的关系类和对象的关系类的定义类的定义 练习 Point.java 定义一个点类Point,包含两个成员变量x、y分别表示x和y的坐标,一个movePoint(int dx,int dy)方法实现点的位置的移动。public class Pointint x,y;void movePoint(int dx,int dy)x=dx;y=
12、dy;类和对象的关系类和对象的关系类的定义类的定义 练习 MyDate.java 定义一个点日期MyDate,包含三个成员变量year、month、day分别表示年、月、日,以及每个属性对应的get和set方法(如,year有getYear()方法用来获得日期的年份,还有setYear(int y)方法用来修改或设置日期的年份),最后还有printDate()方法,调用该方法可以把日期按照“yyyy-mm-dd”的形式输出。类和对象的关系类和对象的关系类和对象的关系类和对象的关系类(class)是对某一类事物的描述对象(object)是实际存在的某类事物的个体,也称为实例(instance)类
13、是创建对象的模板,对象是类的实例。类和对象的关系类和对象的关系对象的创建对象的创建语法格式示例 TestEmployee.java类名类名 对象名对象名=new 构造函数构造函数Employee zhang=new Employee()类和对象的关系类和对象的关系对象的创建对象的创建 练习 TestPerson.java在TestPerson类里写一个main方法,在main()方法中:创建一个Person类的对象这个对象的名字叫小沈阳,年龄28,性别男在控制台中打印这个实例的信息并调用这个对象的sayHello()方法,向大家问好类和对象的关系类和对象的关系对象的创建对象的创建 练习 Tes
14、tPoint.java在TestPoint类里写一个main方法,在main()方法中:创建一个Point类的对象 这个点的坐标是(3,2)将这个点移动到坐标为(5,6)的位置并把移动后的点的坐标按“(x,y)”形式打印在控制台上类和对象的关系类和对象的关系对象的创建对象的创建 练习 TestDate.java在TestDate类里写一个main方法,在main()方法中:创建一个MyDate类的对象 通过setXXX方法将该日期对象的时间设置为“2013年10月8日”在控制台上打印该对象的月份 把该日期对象按“2013-10-8”的格式输出类和对象的关系类和对象的关系匿名对象匿名对象创建完对
15、象,在调用该对象的方法时,也可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫匿名对象使用匿名对象的情况如果对一个对象只需要进行一次方法调用new Person().sayHello()Person p1=new Person();p1.sayHello();Contents类和对象的关系类和对象的关系1构造方法构造方法2对象创建的内存模型对象创建的内存模型3Java中的关键字中的关键字4构造方法构造方法构造方法构造方法(构造函数/构造器,Constructor)具有与类相同的名称不含返回值类型不能在方法中用return语句返回一个值一般访问权限为public 在一个类中,具有上述特
16、征的方法就是构造方法。构造方法的作用构造方法的作用完成对象的创建,即完成对象的实例化一般使用构造方法来完成对成员变量的初始化 示例 TestPerson.java构造方法构造方法默认的构造方法默认的构造方法在Java中,每个类都至少要有一个构造方法,如果程序员没有在类里定义构造方法,系统会自动为这个类产生一个默认的构造方法一旦编程者为该类定义了构造方法,系统就不再提供默认的构造方法class Employee public Employee()class Employee构造方法构造方法 练习 下列关于类的定义的选项中,哪些可以通过下列关于类的定义的选项中,哪些可以通过new Thing()方
17、法来方法来创建该类的一个对象创建该类的一个对象_?A.public class Thing B.public class Thing public Thing()C.public class Thing D.public class Thing public Thing(void)public Thing(String s)E.public class Thing public void Thing()public Thing(String s)答案:A、B构造方法构造方法 练习 给定下列代码的执行结果是_?public class A void A()System.out.println(“
18、Class A”);public static void main(String args)new A();A.Class A B.在第2行处抛出异常 C.编译错误 D.在第6行处抛出异常 E.代码执行后没有输出答案:E构造方法构造方法类和对象的关系类和对象的关系 练习 XiyoujiRole.java构造一个完整的西游记人物类,并定义一个构造方法,通过这个方法可以创建不同的西游记人物,并写一个main函数进行验证。孙悟空:孙悟空的武器是金箍棒,战斗力五颗星,耐力五颗星唐 僧:唐僧没有武器,战斗力为零,耐力五颗星猪八戒:猪八戒的武器是耙子,战斗力四颗星,耐力两颗星沙 僧:沙僧的武器是月牙铲,战
19、斗力三颗星,耐力四颗星方法的重载方法的重载方法的重载(方法的重载(overload)函数的重载就是在同一个类中允许同时存在一个以上同名的函数方法重载的规则方法重载的规则函数名称相同函数的参数必须不同参数个数不同 或参数类型不同函数的返回值类型可以相同,也可以不同方法的重载方法的重载方法的重载(方法的重载(overload)方法的重载方法的重载 练习 下列选项中,哪些可以与下列选项中,哪些可以与void setAge(int year,int month,int day)方法在同一个类中定义方法在同一个类中定义_?A.public void setAge()B.void setAge(int a
展开阅读全文