java程序设计教学教案课件-04-2.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《java程序设计教学教案课件-04-2.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 程序设计 教学 教案 课件 04
- 资源描述:
-
1、第四章第四章 类、对象和接口类、对象和接口4.2 对象类是创建对象的模板创建对象:对象的声明为对象分配内存4.2 对象1、对象的声明:格式:类的名字 对象名字;如:People zhangPing;4.2 对象2、为声明的对象分配内存:使用new运算符和类的构造方法为声明的对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法(默认的构造方法是无参数的)。如:zhangPing=new People();4.2 对象class XiyoujiRenwufloat height,weight;String head,ear,hand,foot,mouth;void speak(String
2、 s)System.out.println(s);class Apublic static void main(String args)XiyoujiRenwu zhubajie;/声明对象zhubajie=new XiyoujiRenwu();/为对象分配内存,使用new运算符和默认的构造方法例:例:14.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 Point(10,10);/
3、为对象分配内存,使用 new 和类中的构造方法。p2=new Point(23,35);/为对象分配内存,使用 new 和类中的构造方法。例:例:2练习 用课本P45 类梯形创建一个名为“tx”的对象4.2 对象3、对象的内存模型:声明对象时的内存模型声明对象变量后,变量内存无数据,是空对象,不能使用如:XiyoujiRenwu zhubajie;zhubajie4.2 对象3、对象的内存模型:对象分配内存后的内存模型为成员变量分配内存返回一个应用给对象变量如 zhubajie=new XiyoujiRenwu();0.00.0nullnullnullnullnull0 xAB12zhubaj
4、ieweightheightheadearmouthhandfoot4.2.2 使用对象使用运算符“.”,对象实现对自己的变量访问和方法的调用对象操作自己的变量(对象的属性)对象创建后,就有自己的变量。通过使用运算符“.”对象实现对自己变量的访问。对象调用类中的方法(对象的功能)采用“.”调用创建它的类中的方法。当对象调用类中的一个方法时,方法中的局部变量被分配到内存空间4.2.2 使用对象class XiyoujiRenwu float height,weight;String head,ear,hand,foot,mouth;void speak(String s)head=歪着头;Sys
5、tem.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;/对象给自己的变量赋值。zhubajie.weight=160f;zhubajie.hand=两只黑手;zhubajie.foot=两只大脚;zhubajie.h
6、ead=大头;zhubajie.ear=一双大耳朵;zhubajie.mouth=一只大嘴;sunwukong.height=1.62f;/对象给自己的变量赋值。sunwukong.weight=1000f;sunwukong.hand=白嫩小手;sunwukong.foot=两只绣脚;sunwukong.head=绣发飘飘;sunwukong.ear=一对小耳;sunwukong.mouth=樱桃小嘴;System.out.println(zhubajie的身高:+zhubajie.height);System.out.println(zhubajie的头:+zhubajie.head);S
7、ystem.out.println(sunwukong的重量:+sunwukong.weight);System.out.println(sunwukong的头:+sunwukong.head);zhubajie.speak(俺老猪我想娶媳妇);/对象调用方法。System.out.println(zhubajie现在的头:+zhubajie.head);sunwukong.speak(老孙我重1000斤,我想骗八戒背我);/对象调用方法。System.out.println(sunwukong现在的头:+sunwukong.head);4.2.2 使用对象类中的方法可以操作成员变量,当对象调
8、用该方法时,方法中出现的成员变量就是指该对象的成员变量。练习 打印梯形的面积:(上底为2.0,下底为5.0,高为3.0)用课本P45 梯形类4.2.3 对象的应用和实体当用类创建一个对象时,类中的成员变量被分配内存空间,这些内存空间被称作该对象的实体。对象中存放着应用,确保实体由该对象操作使用。4.2.3 对象的应用和实体如:Point p1=new Point(12,16);Point p2=new Point(6,18);p1=p2;12166180 xAB280 xDD618XyXyXy0 xDD0 xDDp1p2p2p14.2.3 对象的应用和实体例4:class 圆 double 半
9、径;圆(double r)半径=r;double 计算面积()return 3.14*半径*半径;void 修改半径(double 新半径)半径=新半径;double 获取半径()return 半径;4.2.3 对象的应用和实体class 圆锥 圆 底圆;double 高;圆锥(圆 circle,double h)this.底圆=circle;this.高=h;double 计算体积()double volume;volume=底圆.计算面积()*高/3.0;return volume;void 修改底圆半径(double r)底圆.修改半径(r);double 获取底圆半径()return
10、底圆.获取半径();4.2.3 对象的应用和实体class Example public static void main(String args)圆 circle=new 圆(10);圆锥 circular=new 圆锥(circle,20);System.out.println(圆锥底圆半径:+circular.获取底圆半径();System.out.println(圆锥的体积:+circular.计算体积();circular.修改底圆半径(100);System.out.println(圆锥底圆半径:+circular.获取底圆半径();System.out.println(圆锥的体积
11、:+circular.计算体积();4.3 static关键字1、实例变量和类变量的区别不同对象的实例变量将被分配不同的内存空间,如果类中的成员变量有类变量,那么所有对象的这个类变量都分配给相同的一处内存,改变其中一个对象的这个类变量会影响其它对象的这个类变量。也就是说对象共享类变量4.3 static关键字例子5class 梯形 float 上底,高;static float 下底;/类变量。梯形(float 上底,float 高)this.上底=上底;this.高=高;float 获取上底()return 上底;float 获取下底()return 下底;4.3 static关键字clas
12、s Example4_5 public static void main(String args)梯形 laderOne,laderTwo;/梯形的字节码被加载到内存。梯形.下底=60;/通过类名操作类变量。laderOne=new 梯形(18.0f,20);laderTwo=new 梯形(9.0f,10);System.out.println(laderOne的上底:+laderOne.获取上底();System.out.println(laderOne的下底:+laderOne.获取下底();System.out.println(laderTwo的上底:+laderTwo.获取上底();S
13、ystem.out.println(laderTwo的下底:+laderTwo.获取下底();4.3 static关键字2、实例方法和类方法的区别当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址,当该类创建对象后,类中的实例方法才分配入口地址,从而实例方法可以被类创建的任何对象调用执行。类中的类方法,在该类被加载到内存时,就分配了相应的入口地址。4.4 this关键字1、this关键字可以出现在类的实例方法中,代表使用该方法的当前对象。2、this关键字出现在类的构造方法中,代表使用该构造方法所创建的对象。实例方法可以操作类的成员变量。格式:this.成员变量 4.4 this关
14、键字如:class Aint x;void f()this.x=100;/此例子没有同名的成员变量和局部变量,this可以省略4.4 this关键字如:class Bvoid f()this.g();void g()System.out.println(“OK”);/此例子中this代表使用方法f的当前对象,方法发f的方法体中this.g()就是当前对象调用方法g.一个方法调用另一个方法时可以省略方法名字前面的this4.5 包1、包语句通过关键字package声明包语句。package作为Java源文件的第一条语句。package语句的一般格式:package 包名;如:package su
15、nrise;package ;4.5 包如果源程序中省略了package语句,源文件所定义命名的类被隐含地认为是无名包的一部分即源文件中定义命名的类在同一个包中,但该包没有名字。4.5 包程序如果使用了包语句,就必须有相应的目录结构。如:package tom.jafei;则目录结构必须包含如下结构:tomjiafei4.5 包例6:package tom.jiafei;public class Example4_6 public static void main(String args)System.out.println(我有包名);4.5 包2、import语句使用import语句可以引
16、入包中的类。在一个java源程序中可以有多个import语句,他们必须写在package语句和源文件中的类的定义之间4.5 包2、import语句Java提供的包有很多,约130多个如:java.applet 包含所有实现java applet的类 java.awt 包含抽象窗口工具集中的图形、文本、窗口GUI类java.awt.image 包含抽象窗口工具集中的图像处理类java.lang 包含所有基本语言类java.io 包含所有的输入/输出类 包含所有实现网络功能的类java.until包含有用的数据类型类4.5 包引入类:如果要引入一个包中的全部类,则可以用星号来代替如:import
17、java.awt.*;只引入一个确定的类,则直接写明引用如:import java.until.Date4.5 包例7:import java.applet.Applet;import java.awt.*;public class Example extends Applet Button redbutton;public void init()redbutton=new Button(我是一个红色的按钮我是一个红色的按钮);redbutton.setBackground(Color.red);add(redbutton);public void paint(Graphics g)g.dra
18、wString(it is a button,30,50);例8import tom.jiafei.*;class Example4_8 public static void main(String args)Trangle trangle=new Trangle(12,3,1);trangle.计算面积计算面积();trangle.修改三边修改三边(3,4,5);trangle.计算面积计算面积();4.6 访问权限1.私有变量和私有方法2.共有变量和共有方法3.友好变量和友好方法4.受保护成员变量和方法5.public类与友好类4.6 访问权限1.私有变量和私有方法用关键字private修
展开阅读全文