当前位置:文档之家› java教程课件

java教程课件


例如: public class Date1
声明Date1类,访问权限为Public,表示类Date1可以被 该类所属的包之外的类使用。
2.类主体 <类首声明> { <成员变量的声明> <成员方法的声明及实现> } • 成员变量即类的数据,反映了类的属性和状态。 • 成员方法即类的行为(对数据的操作)
2.无参数的构造函数
如果有自己创建的构造函数,而创建某些对象时 又不想进行初始化,一定要在类中创建无参数的构造 函数,因为此时已没有缺省的构造函数了。
设计一个长方形类,成员变量包括长和 宽。类中有计算面积和周长的方法;有构造 函数,为长方形的长和宽赋值。 定义一个测试类,并输出长方形的周长 和面积。
(2) 实例化对象(new) <对象名> = new <类名>()
作用:在内存中为此对象分配内存空间,并返回对象的引 用(即对象的存储地址)。
<对象名> = new <类名>()
系统做的两件事: 1.为各个成员变量分配内存,然后执行构造方法中的 语句。如果成员变量在声明时没有指定初值,所使用 的构造方法也没有为成员变量进行初始化操作,那么, 根据变量的类型给出默认值。 2.给出一个信息,确保这些变量是属于该对象的。返 回一个号码,这个号码包含着代表这些成员变量内存 位置的首地址等重要的有关信息给该对象。
张三 01号 21岁
上课 吃饭 睡觉
属性: 姓名 学号 年龄 行为: 上课 吃饭 睡觉
二、什么是类
什么是类? 类是一组具有相同属性和行为的对象的集 合。
三、类和对象的关系
1 . 区别 类是一个抽象的概念,对象是具体的事物
2.联系
对象都属于某一个类 同一个类的所有对象具有相同属性,属性值 不一定相同,但行为都相同。
Java 程序设 计教程

第一节 第二节 第三节 第四节 第五节 第六节 第七节 第八节
面向对象程序设计概述 类的创建 对象的创建 类的封装 类的继承 类的多态性 接口 包
一. 什么是对象
对象具有的特性: (1)万物皆为对象 (2)每个对象都是唯一的(每个对象分配的内存 地址不同) (3)对象具有属性和行为 (4)对象具有状态:某个瞬间对象的各个属性的 取值。
4.2.4 成员变量和局部变量区别
成员变量:变量定义部分所定义的变量。 局部变量:在方法体中定义的变量和方法的参 数。
区别: 1.成员变量在整个类内都有效,局部变量只在定 义它的方法内有效。成员变量与他书写的位置 无关
2.如果局部变量的名字与成员变量的名字相同, 则成员变量被隐藏,即这个成员变量在这个方 法内暂时失效 .这时如果想在该方法内使用成 员变量,必须使用关键字this。
1.类首声明:
[<修饰符>] class <类名> [extends <超类名>] [implements <接口名>]
• class: 类定义的关键字; • extends: 表示类和另外一些类(超类)的继承关系; • implements: 表示类实现了某些接口; • 修饰符: 表示类访问权限(public、private等)和一些其它 特性(abstract、final等);
设计一个圆类,成员变量包括半径r。类 中有计算面积的方法;有构造函数,为圆的
半径赋值。
定义一个测试类,并输出圆的面积。
编写一个类,该类封装了一元二次方程共有的属性 和功能,即该类有刻画方程系数的3个成员变量以及 计算实根的方法。提示: (1) 求根公式为: (-b+sqr(b2-4ac))/2a (-b-sqr(b2-4ac))/2a (2) 求平方根方法是sqrt(),是ng包中的 Math类的类方法。该方法的描述如下: public static double sqrt(float a )
注意:除了构造方法,在类中不能出现与类名相 同的方法。
在此例中,成员变量year、month、day分别表示日 期的年、月、日,成员方法today表示对属性的操 作,即打印今天的日期。
例4-1:声明一个日期类Date1 public class Date1 { int year,month,day; //成员变量 public void today( ) //成员方法 { System.out.println(“Date is”+year+”/”+month+”/”+day); } }
}
同一个消息可以根据发送消息对象的不同 多态性: 产生多种不同的行为方式。
本节导航
4.2.1 类的声明格式
4.2.2 成员变量
4.2.3 成员方法 4.2.4 成员变量与局部变量区别
4.2.1 类的声明格式
Class 类名称{
类主体
} •类首声明定义了类的名字、访问权限与其它类的 关系等。 •类主体定义了类的成员,包括变量(数据)和函 数(方法)
4.3.6 参数的传递
1.变量或者常量作为参数的传递
说明: Java语言中每个类都有构造方法,如果一 个类中没有创建构造方法,创建对象时不进行初 始化,则系统自动调用默认的构造方法,这个构 造方法其实什么也不做;但是如果类中创建了自 己的构造方法,在创建对象时又不想进行初始化, 系统不会给出默认的构造方法了,所以这个默认 的构造方法就需要我们自己在类中创建。否则, 应用创建对象的语句时会出错。
一个类创建的两个对象,如果具有相同 的引用,那么就具有完全相同的实体。 没有实体的对象称作空对象,空对象不 能使用,即不能让一个空对象去调用方 法产生行为。 否则会出现 NullPointerException异常。
实际上,java有所谓的“垃圾回收” 机制,这种机制周期的检测某个实 体是否已不再被任何对象所拥有, 如果发现这样的实体,就释放实体 占有的内存。
五、对象的创建
1.语法格式:
类名 对象名 = new 类名();
2.学生对象的创建
Student 张三 = new Student(); Student 李四 = new Student();
六、面向对象程序设计的核心技术
面向对象程序设计的核心技术是封装、继承和
多态性。
1. 封装:
封装是把对象的 属性和行为组合 成为一个独立的 单位或部件,并 尽可能隐蔽对象 的内部细节,而 只保留必要的对 外接口,使之与 外部发生联系。

本节导航
4.3.1 创建对象
4.3.2 构造方法和对象初始化
4.3.3 对象的使用 4.3.4 对象的引用和实体 4.3.5 对象的销毁 4.3.6 参数的传递
4.3.1 创建对象
第一种形式: (1)声明对象 <类名> <对象名>
作用:声明一个引用变量,仅仅是预定变量的存储空间, 并没有对象实体生成,此时的对象被称作空对象。
三个参数分别用来对成员变量year、month、day进 行初始化。
Date1 de = new Date1(); 调用了类的缺省构造方法,无参数。 Date1 de = new Date1(1999,12,31); 调用了自己创建的构造方法,对类的成员变量 year、month、day分别赋初值1999、12、31。
举例: 定义一个日期类,其中定义3个变量“年”、 “月”、“日”;定义了一个方法 “打印日
期”,该方法负责打印当前的日期,日期格式为: 2010/3/2
例4.2.1:声明一个日期类Date1
public class Date1 { int year,month,day; //成员变量 public void today( ) //成员方法 {System.out.println(“Date is”+year+”/”+month+”/”+day);} }
4.3.5 对象的销毁
1.两个概念
对象的生命周期是指对象的创建、使用和 销毁这一过程。 对象的销毁是指当对象使用完毕后,释放 对象所占有的资源(如分配给它的内存)。
2.对象销毁的方法
<修饰符> void finalize(){方法体}
finalize方法没有参数,没有返回值,且一个类只 能定义一个finalize方法。 注意:该方法的运行发生在对象销毁之前。
声明一个学生类Student, 成员变量包括: id(学号) name(姓名) height(身高) weight(体重) age(年龄) score(成绩) 成员方法包括: sing(唱歌) study(学习)
举例: 定义一个梯形类,其中定义4个double类型变 量“上底”、“下底”、“高”、“梯形面 积”;定义了一个方法“梯形面积”,求梯形的 面积。
第二种形式:声明对象的同时,将它实例化
<类名> <对象名> = new <类名>()
实例化就是为对象分配存储空间,并同时 对对象进行初始化。这些工作分别用new运算符 和类的构造方法来完成。
创建多个不同的对象
一个类通过new运算符可以创建多个不同的对象, 这些对象将被分配不同的内存空间。因此,改 变一个对象的状态不会影响其他对象的状态。
4.2.2 成员变量
[<修饰符>] [static] [final] [transient] <变量类型> <变量名>
static: 表示是一个类变量(静态变量); final: 表示是一个常量; transient: 表示一个临时变量 修饰符: 表示变量的访问权限(缺省访问、public、 protected和private)
公有数据 数据 私有数据 方法
方法 对象A
对象B
相关主题