《Java程序设计技能教程》-彭德林-电子教案 JAVA程序设计技能教程第5章

上传人:E**** 文档编号:89401048 上传时间:2019-05-24 格式:PPT 页数:38 大小:365.50KB
返回 下载 相关 举报
《Java程序设计技能教程》-彭德林-电子教案 JAVA程序设计技能教程第5章_第1页
第1页 / 共38页
《Java程序设计技能教程》-彭德林-电子教案 JAVA程序设计技能教程第5章_第2页
第2页 / 共38页
《Java程序设计技能教程》-彭德林-电子教案 JAVA程序设计技能教程第5章_第3页
第3页 / 共38页
《Java程序设计技能教程》-彭德林-电子教案 JAVA程序设计技能教程第5章_第4页
第4页 / 共38页
《Java程序设计技能教程》-彭德林-电子教案 JAVA程序设计技能教程第5章_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《《Java程序设计技能教程》-彭德林-电子教案 JAVA程序设计技能教程第5章》由会员分享,可在线阅读,更多相关《《Java程序设计技能教程》-彭德林-电子教案 JAVA程序设计技能教程第5章(38页珍藏版)》请在金锄头文库上搜索。

1、Java程序设计技能教程,主编 彭德林 李德有 中国水利水电出版社 ,第5章 类和对象,任务一 :掌握类和对象基本知识,任务三 :实训五 类和对象的使用,任务二 :掌握类的封装,5.1 任务一 掌握类和对象基本知识,5.1.1 面向对象基本概念 面向对象(Object-oriented)就是一种常见的程序结构设计的方法面,面向对象(OO)方法是一种程序设计方法,其基本思想是使用抽象、对象、类、继承、消息、多态等基本概念进行程序设计。,1.抽象:科学研究中经常使用的一种方法,即是从现实世界的众多的事物中抽出事物的本质特性而暂时不考虑它们的细节,得到众多事物的一个清晰的基本框架的手段而已。,2.对

2、象,对象没有一个明确的定义。我们可以将对象看作是现实生活当中头能够被识别、被理解,具有明确的行为、思想、感觉的人或事物。 对象具有一些特征: 对象是现实的抽象的事物,对计算机所能完成的任务的描述起到重要作用。 对象应具有某些属性,即数据,同时也表现出特定的行为。 可以通过对属性和行为的定义,将相似的对象划分为同一类。通过这个类还可以派生出更多的具体的对象。 对象之间还可以进行相互作用或相互操作,也就是说,一个对象可以通过执行某些指令来操作另外一个对象的数据。 在和对象交互的过程中,对象内部的运作方式对用户是不可见的。这就保证了对象的安全性。 对象可以被其他系统包含和复用。,3.类,类是现实世界

3、某些对象的共同特征(属性和操作)的表示,是对象的蓝图或模型,通过类可以创建多个对象。,4.封装,封装是把数据和方法放到一个类中的过程,即将信息隐蔽的过程。 是什么促使我们将信息隐蔽呢?原因有两点: 一、防止程序员接触他们不该接触的东西通常是内部数据类型的设计思想。若只是为了解决特定的问题,用户只需操作接口即可,毋需明白这些信息。 二、只允许库设计人员修改内部结构,不用担心它会对客户程序员造成什么影响。,5.1.2 类的声明,类的声明 类声明定义一个类的名称、访问权限、与其他类的关系等。声明类的格式为: 类修饰符 class 类名 extends 父类名 implements接口名表 类体 说明

4、:class 声明类的关键字。 extends 指明本类继承的父类,在其后指定父类名 implements 指明本类使用的接口,在其后指定接口名表 类修饰符 用于指定类的使用特性和访问权限,例如类是否为抽象类或最终类等。可取以下三种之一: public 表明本类是共有类,在本包与其他包内均可访问。 abstract 表明本类为抽象类,必须被继承后才能使用。 final 表明本类为最终类,不能被其他类继承。 类声明紧接一对大括号,在大括号中是类体。,【例51】程序题目 public class People public String name; public char sex; public

5、int age; public String Idcard; public People() public Peple(String name,int age,String Idcard) this.name = name; this.age = age; this.Idcard = Idcard; public String getIdcard () return this.Idcard; public String setIdcard (String Idcard) this.Idcard = Idcard; ,下面是一些使用不同修饰符组合进行类定义的例子。 (1) 空类 class em

6、pty (2) 最简单的类 class People 类体; (3) 公有类 public class People 类体; (4) 最终类 public final class People 类体; (5) 抽象类 public abstract class People 类体; (6) 继承了父类People的子类 public class Employee extends People 类体; (7) 继承了父类且实现了一个接口的类 public class Employee extends People implements Comparable 类体; ,5.1.3 方法的声明,完整

7、的成员方法声明语法格式: 修饰符 方法返回值类型 方法名(形参数列表) throws 异常类 语句序列; return 返回值; ,例如,下面的程序是求最小值的方法声明。 public int min(int a,int b) int c; c=(ab)?a:b; return c; ,说明: (1)方法的修饰符是用于指定本方法的访问权限和特性,例如,方法是否为公有方法或类方法等。方法的修饰符有以下几种: public|private|protected|default:该修饰符被称为访问控制修饰符,其规定了成员方法的可见范围。例如,public访问修饰符表示该方法可以被任何其他代码调用,而p

8、rivate表示方法只能被类中的其他方法调用。 static该修饰符声明了本方法是类方法。 final该修饰符声明了本方法为不可被子类所重写的最终方法。不可与abstract修饰符同时使用。 abstract该修饰符声明了本方法为抽象类中的抽象方法,必须在非抽象的子类中实现具体操作。不可与final修饰符同时使用。 (2)方法的返回值类型可以是基本数值型,也可以是任一引用类型,当没有返回值时,其类型默认为void。 (3)形参数列表用于接收方法调用时外界传来的参数,也可以没有参数,但注意的是小括号是不能省略的。每个参数都必须要有自己独立的类型声明,即使相邻的两个参数的类型是相同的也不能公用类型

9、声明,参数之间要用逗号隔开。 (4)throws 异常类:其中出现多个异常类时要用逗号隔开。,5.1.4 方法调用及参数传递,1方法调用 方法根据其是否带有static修饰符可以分为类方法和对象方法(实例方法)。 (1)对象方法调用的格式: 对象名方法名(实参列表); (2)类方法调用的格式: 类名方法名(实参列表); 没有返回值的方法调用,通常调用的方式比较简单,一般直接构成方法调用语句。,例如:System.out.println(“I am a boy!”);,例如: int min0; min=Math.min(3,4);,2参数传递 (1)形参和实参,【例52】程序题目 public

10、 class Test public int min(int a,int b) int c; c=(ab)?a:b; return c; public static void main(String args) int min=0,x=10,y=20; Test t=new Test(); min=t.min(x,y); System.out.println(“min is ”+min); ,(2)值传递,【例53】程序题目 /简单类型是用值传递 class Test void method(int i,int j) i = i+10; j = j-10; public class CallB

11、yValue public static void main(String args) Test object = new Test(); int a = 25,b = 30; System.out.println(“调用前a和b的值: “ + a + “ “ + b); object.method(a,b); System.out.println(“调用后a和b的值: “ + a + “ “ + b); ,(3)引用传递,【例54】程序题目 /当参数为数组时,传递的方式为引用传递 public class T2 public static void main(String args) int

12、 a = 1, 2, 3 ; method2(a); System.out.println(a0); System.out.println(a1); System.out.println(a2); static void method2(int a) a0 = 0; a1 =7; a2=8; ,【例55】程序题目 /当参数为对象时,传递的方式为引用传递 class Test int a,b; Test(int i,int j) a = i; b = j; / 传递一个对象 void method(Test ob) ob.a = ob.a+10; ob.b = ob.b-10; public c

13、lass CallByReference public static void main(String args) Test object = new Test(25,30); System.out.println(“调用前object.a和object.b的值: “ + object.a + “ “ + object.b); object.method(object); System.out.println(“调用后object.a和object.b的值: “ + object.a + “ “ + object.b); ,5.1.5 对象的创建和使用,1.对象声明 类 对象 2.对象的创建

14、(1)先声明对象,再创建对象 格式一: 类名 对象变量; 新对象的声明 对象变量 = new 类名(参数列表); 新对象内存空间的分配 (2)声明对象的同时创建对象 格式二: 类名 对象变量 = new 类名(参数列表); 3.引用对象的成员变量和调用对象方法 对象.成员变量 对象.成员方法(参数列表) aday.year = 2006; /引用对象的成员变量 aday.setDate(2006,1,28); /调用对象的方法 “abcd“.equals(“abc“),例如: People person1 = new People(); People person2 = person1; pe

15、rson1.name = “王明”;,4this引用,this用来访问本类的成员变量和成员方法的引用格式如下: (1)this成员变量 (2)this成员方法(参数列表) 一般情况下,在以下几种情况下需要使用到this: 第一,通过this调用另一个构造方法,用法是this(参数列表),这个仅仅在类的构造方法中,别的地方不能这么用。 第二,函数参数或是函数中的局部变量和成员变量同名的情况下,成员变量被屏蔽,此时要访问成员变量则需要用“this.成员变量名”的方式来引用成员变量。 第三,在函数中,需要引用该函所属类的当前对象时候,直接用this。,5super引用,super用来访问父类的成员变量和成员方法的引用格式有以下几种: (1)super成员变量 (2)super(参数列表) (3)super. 成员方法(参数列表) 针对super的引用方式,下面总结一下super的用法: 第一,在子类构造方法中要调用父类的构造方法,用“super(参数列表)”的方式调用,参数不是必须的。同时还要注意的一点是:“super(参数列表)”这条语句只能用在子类构造方法体中的第一行。 第二,当子类方法中的局部变量或者子类的成员变量与父类成员变量同名时,也就是子类局部变量覆盖父类成员变量时,用“super.成员变量名”来引用父

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号