文档详情

面向对象程序设计(Java).pptx

发布:2025-05-04约3.62千字共10页下载文档
文本预览下载声明

1第四节面向对象的概念和Java实现-2

2主要内容构造器缺省构造器带参数的构造器this关键字复合Java源文件组成深入研究方法返回值参数按值传递引用传递

复习2-13对象状态:对象所拥有的一组外观特征行为:对象可以执行的功能类描述对象的“基本原型”具有相同状态和行为的一组对象的集合classobject定义属于Ferrari

复习2-24Java实现的语法[修饰符]class类名{ [访问修饰符]数据类型变量名;//成员变量定义 [访问修饰符]返回值类型方法名(参数列表){//方法定义 //方法体 [return返回值;] } publicstaticvoidmain(String[]args){ 类名对象名=new类名();//创建对象 对象名.成员变量;//访问成员变量 对象名.方法(参数列表);//访问方法 }}成员

Rectangle(长方形类)类的定义5area()perimeter()成员变量方法

构造器6作用对类进行实例化,即创建对象为对象分配内存,初始化成员变量特点与类同名,没有返回值类型语法[修饰符]class类名{ …… [public]类名(){ //初始化 } ……}类名对象名=new构造器()

area()缺省构造器7widthheightperimeter()Rectangle(长方形类)成员变量方法如果类中没有定义构造器,Java会自动添加一个不带参数的构造器,并按默认值初始化成员变量

带参数的构造器8语法[修饰符]class类名{[public]类名(数据类型参数1[,数据类型参数2]){//初始化}}如果类中定义了带参数的构造器,Java不会添加缺省构造器12

多个构造器9构造器的参数个数或参数的数据类型必须不同

this关键字10this关键字表示当前类对象

构造器小结1101构造器用于创建对象,对成员变量进行初始化02构造器必须与类同名,且没有返回值类型03如果类中没有定义构造器,Java会自动添加一个不带参数的缺省构造器,并按默认值初始化成员变量04如果类中定义了带参数的构造器,Java不会添加缺省构造器05一个类可以定义0、1或多个构造器06定义多个构造器时,构造器中的参数个数或参数的数据类型必须不同

深入研究类12[修饰符]class类名{ [访问修饰符]数据类型变量名;//成员变量定义 [public]类名(){//不带参数的构造器 //初始化 } [public]类名(数据类型参数1[,数据类型参数2]){//带参数的构造器 //初始化 } [访问修饰符]返回值类型方法名(数据类型参数1[,数据类型参数2]){//方法定义 //方法体 [return返回值;] } publicstaticvoidmain(String[]args){ 类名对象名=new构造器(参数列表);//创建对象 对象名.成员变量;//访问成员变量 对象名.方法(参数列表);//访问方法 }}

复合13通过把其他类作为自己的组成部分来构建类

示例14定义点类Point:(x0,y0)成员变量坐标x:doublex坐标y:doubley构造器Point(){…}Point(doublex,doubley){…}方法重新设置坐标值voidsetPoint(doublex,doubley){…}以(x,y)形式打印点坐标voidprint(){…}xy0y=kx+b(x0,y0)x0y0定义直线类Line:y=kx+b

点类Point15

直线类Line2-116Line:y=kx+b成员变量点:Pointp斜率:doublem构造器点类型p和斜率m的构造器Line(Pointp,doublem){…}两个点类型参数的构造器Line(Ponintp1,Pointp2){…}方法获得斜率,即K值:doublegetK(){…}获得截距,即b值:doublegetB(){…}以y=kx+b打印返回直线:voidprint(){…}x0y=kx+b(x0,y0)x0y0

直线类Line2-217

Java源文件的组成18一个Java源文件1可以有多个类组成2每个类都会有一个和类名相同的class文件3一个Java源文件只允许有一个类拥有public修饰符,且文件名与该类相同。4举例:TestLine.java5classPoint6classLi

显示全部
相似文档