java程序设计教学教案课件

上传人:我*** 文档编号:142099010 上传时间:2020-08-16 格式:PPT 页数:72 大小:205KB
返回 下载 相关 举报
java程序设计教学教案课件_第1页
第1页 / 共72页
java程序设计教学教案课件_第2页
第2页 / 共72页
java程序设计教学教案课件_第3页
第3页 / 共72页
java程序设计教学教案课件_第4页
第4页 / 共72页
java程序设计教学教案课件_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《java程序设计教学教案课件》由会员分享,可在线阅读,更多相关《java程序设计教学教案课件(72页珍藏版)》请在金锄头文库上搜索。

1、4.2 对象,类是创建对象的模板 创建对象: 对象的声明 为对象分配内存,4.2 对象,1、对象的声明: 格式:类的名字 对象名字; 如:People zhangPing;,4.2 对象,2、为声明的对象分配内存: 使用new运算符和类的构造方法为声明的对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法(默认的构造方法是无参数的)。 如:zhangPing=new People();,4.2 对象,class XiyoujiRenwu float height,weight; String head,ear,hand,foot,mouth; void speak(String s)

2、System.out.println(s); class A public static void main(String args ) XiyoujiRenwu zhubajie; /声明对象 zhubajie=new XiyoujiRenwu(); /为对象分配内存,使用new运算符和默认的构造方法 ,例:1,4.2 对象,class Point int x,y; Point(int a,int b) x=a; y=b; public class A public static void main(String args) Point p1,p2; /声明对象p1和p2。 p1=new P

3、oint(10,10); /为对象分配内存,使用 new 和类中的构造方法。 p2=new Point(23,35); /为对象分配内存,使用 new 和类中的构造方法。 ,例:2,练习,用课本P45 类梯形创建一个名为“tx”的对象,4.2 对象,3、对象的内存模型: 声明对象时的内存模型 声明对象变量后,变量内存无数据,是空对象,不能使用 如:XiyoujiRenwu zhubajie;,zhubajie,4.2 对象,3、对象的内存模型: 对象分配内存后的内存模型 为成员变量分配内存 返回一个应用给对象变量 如 zhubajie=new XiyoujiRenwu();,0.0,0.0,n

4、ull,null,null,null,null,0 xAB12,zhubajie,weight,height,head,ear,mouth,hand,foot,4.2.2 使用对象,使用运算符 “.” ,对象实现对自己的变量访问和方法的调用 对象操作自己的变量(对象的属性) 对象创建后,就有自己的变量。通过使用运算符“.”对象实现对自己变量的访问。 对象调用类中的方法(对象的功能) 采用“.”调用创建它的类中的方法。 当对象调用类中的一个方法时,方法中的局部变量被分配到内存空间,4.2.2 使用对象,class XiyoujiRenwu float height,weight; String

5、head, ear,hand,foot,mouth; void speak(String s) head=歪着头; System.out.println(s); public class Example public static void main(String args) XiyoujiRenwu zhubajie,sunwukong;/声明对象。 zhubajie=new XiyoujiRenwu();/为对象分配内存,使用new 运算符和默认构造方法。 sunwukong=new XiyoujiRenwu(); zhubajie.height=1.80f; /对象给自己的变量赋值。,z

6、hubajie.weight=160f; zhubajie.hand=两只黑手; zhubajie.foot=两只大脚; zhubajie.head=大头; zhubajie.ear=一双大耳朵; zhubajie.mouth=一只大嘴; sunwukong.height=1.62f; /对象给自己的变量赋值。 sunwukong.weight=1000f; sunwukong.hand=白嫩小手; sunwukong.foot=两只绣脚; sunwukong.head=绣发飘飘; sunwukong.ear=一对小耳; sunwukong.mouth=樱桃小嘴; System.out.pri

7、ntln(zhubajie的身高:+zhubajie.height); System.out.println(zhubajie的头:+zhubajie.head); System.out.println(sunwukong的重量:+sunwukong.weight); System.out.println(sunwukong的头:+sunwukong.head); zhubajie.speak(俺老猪我想娶媳妇); /对象调用方法。 System.out.println(zhubajie现在的头:+zhubajie.head); sunwukong.speak(老孙我重1000斤,我想骗八戒背

8、我); /对象调用方法。 System.out.println(sunwukong现在的头:+sunwukong.head); ,4.2.2 使用对象,类中的方法可以操作成员变量,当对象调用该方法时,方法中出现的成员变量就是指该对象的成员变量。,练习,打印梯形的面积:(上底为2.0,下底为5.0,高为3.0) 用课本P45 梯形类,4.2.3 对象的应用和实体,当用类创建一个对象时,类中的成员变量被分配内存空间,这些内存空间被称作该对象的实体。 对象中存放着应用,确保实体由该对象操作使用。,4.2.3 对象的应用和实体,如: Point p1=new Point(12,16); Point p

9、2=new Point(6,18); p1=p2;,12,16,6,18,0 xAB28,0 xDD,6,18,X,y,X,y,X,y,0 xDD,0 xDD,p1,p2,p2,p1,4.2.3 对象的应用和实体,例4: class 圆 double 半径; 圆(double r) 半径=r; double 计算面积() return 3.14*半径*半径; void 修改半径(double 新半径) 半径=新半径; double 获取半径() return 半径; ,4.2.3 对象的应用和实体,class 圆锥 圆 底圆; double 高; 圆锥(圆 circle,double h) t

10、his.底圆=circle; this.高=h; double 计算体积() double volume; volume=底圆.计算面积()*高/3.0; return volume; void 修改底圆半径(double r) 底圆.修改半径(r); double 获取底圆半径() return 底圆.获取半径(); ,4.2.3 对象的应用和实体,class Example public static void main(String args) 圆 circle=new 圆(10); 圆锥 circular=new 圆锥(circle,20); System.out.println(圆锥

11、底圆半径:+circular.获取底圆半径(); System.out.println(圆锥的体积:+circular.计算体积(); circular.修改底圆半径(100); System.out.println(圆锥底圆半径:+circular.获取底圆半径(); System.out.println(圆锥的体积:+circular.计算体积(); ,4.3 static关键字,1、实例变量和类变量的区别 不同对象的实例变量将被分配不同的内存空间,如果类中的成员变量有类变量,那么所有对象的这个类变量都分配给相同的一处内存,改变其中一个对象的这个类变量会影响其它对象的这个类变量。 也就是说

12、对象共享类变量,4.3 static关键字,例子5 class 梯形 float 上底,高; static float 下底; /类变量。 梯形(float 上底,float 高) this.上底=上底; this.高=高; float 获取上底() return 上底; float 获取下底() return 下底; ,4.3 static关键字,class Example4_5 public static void main(String args) 梯形 laderOne,laderTwo; /梯形的字节码被加载到内存。 梯形.下底=60; /通过类名操作类变量。 laderOne=ne

13、w 梯形(18.0f,20); laderTwo=new 梯形(9.0f,10); System.out.println(laderOne的上底:+laderOne.获取上底(); System.out.println(laderOne的下底:+laderOne.获取下底(); System.out.println(laderTwo的上底:+laderTwo.获取上底(); System.out.println(laderTwo的下底:+laderTwo.获取下底(); ,4.3 static关键字,2、实例方法和类方法的区别 当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址,当

14、该类创建对象后,类中的实例方法才分配入口地址,从而实例方法可以被类创建的任何对象调用执行。 类中的类方法,在该类被加载到内存时,就分配了相应的入口地址。,4.4 this关键字,1、this关键字可以出现在类的实例方法中,代表使用该方法的当前对象。 2、this关键字出现在类的构造方法中,代表使用该构造方法所创建的对象。 实例方法可以操作类的成员变量。 格式:this.成员变量,4.4 this关键字,如: class A int x; void f() this.x=100; /此例子没有同名的成员变量和局部变量,this可以省略,4.4 this关键字,如: class B void f(

15、) this.g(); void g() System.out.println(“OK”); /此例子中this代表使用方法f的当前对象,方法发f的方法体中this.g()就是当前对象调用方法g. 一个方法调用另一个方法时可以省略方法名字前面的this,4.5 包,1、包语句 通过关键字package声明包语句。package作为Java源文件的第一条语句。 package语句的一般格式: package 包名; 如: package sunrise; package ;,4.5 包,如果源程序中省略了package语句,源文件所定义命名的类被隐含地认为是无名包的一部分即源文件中定义命名的类在同一个包中,但该包没有名字。,4.5 包,程序如果使用了包语句,就必须有相应的目录结构。 如: package tom.jafei; 则目录结构必须包含如下结构: tomjiafei,4.5 包,例6:,package tom.jiafei; public class Example4_6 public static void main(String args) System.out.println(我有包名); ,4.5 包,2、 import语句 使用import

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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