第4章 面向对象编程(成员变量、成员方法、构造方法、重载方法).ppt_第1页
第4章 面向对象编程(成员变量、成员方法、构造方法、重载方法).ppt_第2页
第4章 面向对象编程(成员变量、成员方法、构造方法、重载方法).ppt_第3页
第4章 面向对象编程(成员变量、成员方法、构造方法、重载方法).ppt_第4页
第4章 面向对象编程(成员变量、成员方法、构造方法、重载方法).ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向对象编程(成员变量、成员方法、构造方法、重载方法),本章学习指引:,成员变量(成员方法) 构造方法 方法重载,Java中的成员变量,实例变量(对象变量),类变量(静态变量),一、成员变量,成员变量存放位置:在类的内部并位于方法体之外 作用域:整个类 class VariableOfFamily int i; boolean flag; int aa() float j; return 5; ,如何区分成员变量的两种形式 -通过static关键字来区分 static 类型 变量名,class A int i; static float j; ,注意:成员方法类似于成员变量的两种形式区分 st

2、atic返回值类型 方法名(参数表) 语句体 返回值类型:有参返回(int、float、double等等) 无参返回(void),实例变量与类变量的访问,举例 class VerifyConstant int i; static float j; public static void main(Stringargs) /System.out.print(i); VerifyConstant vc=new VerifyConstant(); System.out.println(vc.i+n+vc.j); System.out.println(j=+j); System.out.println(

3、j=+ VerifyConstant .j); ,结论,实例变量是属于对象的,在类方法中,必须通过对象访问。 类变量是属于类的。在同一个类中可以直接访问,在其他类中,可以通过对象访问或通过类名访问。,注意:成员方法的访问类似于成员变量,在实例方法中可以直接访问实例变量,class VerifyConstant int i; static float j; void aa() i=i+1; j=j+1; static void bb() VerifyConstant vc=new VerifyConstant(); vc.aa(); vc.i=vc.i+1; j=j+1; System.out.

4、print(vc.i); public static void main(Stringargs) bb(); ,例:读出下列程序的运行结果,class Company static String name,city; public class OurCompany public static void main(Stringargs) Company c1=new Company(); =交通公司; c1.city=上海; Company c2=new Company(); =电力公司; c2.city=北京; System.out.println(+

5、:+c1.city); ,注意: 类变量是属于类的,属于类中所有对象,类变量被保存在该类内存区的公共存储单元中。类变量不会因为对象的存在而存在。 实例变量是属于对象的,与具体对象相关联,只有对象被创建了,该对象访问的变量才会存在于存储单元中。 类变量的值会随着最后一个对象的改变而改变,而对象变量的值的改变只与具体的对象有关,问题:指出下列类中成员变量和成员方法的具体形式,class Judge int i; static float j; final static double k=26.7789; void aa() System.out.print(“Welcome!”); static

6、int bb(int p) return 6; public static void main(Stringargs) ,课堂练习,编写一个Java Application程序,该程序能计算出清华大学出版社某本书自从发行以来的销售总额。,要求输出的结果如下:,出版社:清华大学出版社 书名:Java程序设计 单价:23.5元 发行日期:2005年7月 已售数量:3000本 销售总额: 元 出版社:清华大学出版社 书名:.NET程序设计 单价:21.6元 发行日期:2007年12月 已售数量:3500本 销售总额: 元,class Book static String bookconcern =清

7、华大学出版社; String bookname,publishtime; float bookprice; long booknumber; double saleAmount() return booknumber*bookprice; class MyBook public static void main(Stringargs) Book book1=new Book (); book1.bookname=Java程序设计; book1.publishtime=2005年7月; book1.bookprice=23.5f; book1.booknumber=3000L; System.o

8、ut.println(出版社:+Book.bookconcern+n书名:+book1.bookname+n单价:+book1.bookprice+元n发行日期:+book1.publishtime+n已售数量:+book1.booknumber+本n销售总额:+book1.saleAmount(); /请试着从命令行输入bookprice、bookname等的值,二、构造方法,1.概念及特点 又称构造函数、构造器 构造函数是类的一种特殊方法,它的特殊性主要体现在如下的几个方面: (1)构造函数的方法名与类名相同。 (2)构造函数没有返回类型。 (3)构造函数的主要作用是完成对类的对象的初始化

9、工作。 (4)构造函数不能由编程人员显式地直接调用。 (5)在创建一个类的新对象的同时,系统会自动调用该类的构造函数为新对象初始化。,例:为Book类创建构造函数(要求通过构造函数完成书名和书价的初始化),class Book static String bookconcern =清华大学出版社; String bookname,publishtime; float bookprice; long booknumber; double saleAmount() return booknumber*bookprice; ,Book(String bn,float bp) bookname=bn;

10、 bookprice=bp; ,如何调用构造函数?,class MyBook public static void main(Stringargs) Book book1=new Book (Java程序设计, 23.5f); book1.publishtime=2005年7月; book1.booknumber=3000L; System.out.println(出版社:+Book.bookconcern+n书名:+book1.bookname+n单价:+book1.bookprice+元n发行日期:+book1.publishtime+n已售数量:+book1.booknumber+本n销

11、售总额:+book1.saleAmount(); ,这条语句自动调用Book类中带两个参数的构造函数,2.构造函方法的特点 (1)构造函数和类具有相同的名字。 (2)一个类可以有多个构造函数。 (3)构造函数可以有0个、1个或多个参数。 (4)构造函数没有返回值。 (5)构造函数总是和new运算符一起被调用。,3.构造方法的作用 (1)对象初始化 (2)引入更多的灵活度(变量赋值或更复杂的操作) (3)Java中可以不定义构造函数 - Java中可以不定义构造函数,此时系统会自动为该系统生成一个默认的构造函数。这个构造函数的名字与类名相同,它没有任何形式参数,也不完成任何操作。,课堂练习一:,

12、请为Square类创建一个构造函数,该函数能够在对象创建时,自动完成边长的初始化工作。并设计一个Java Application程序,能输出边长为5.5的正方形的周长。 class Square double length; double area() return length*length; double circum() return 4*length; ,程序如下:,class Square double length; Square(double len) length=len; double area() return length*length; double circum()

13、return 4*length; ,或: Square(double length) this.length=length; ,class ComputeArea public static void main(Stringargs) Square s=new Square(5.5); System.out.print(“周长为”+s.circum(); ,课堂练习二:,完成第二次实验报告,三、方法重载,1、概念 类对自身已有的同名方法的重新定义,一般同名方法通过形参来区分,重载方法必须满足以下条件: -方法名相同 -方法的参数类型、个数、顺序至少有一项不同 -方法的返回类型可以不相同 -方法的修饰符可以不相同,例:以下sum方法为重载的方法,class Calculate int sum(int i,int j) return i+j; float sum(float i,float j,float k) return i+j+k; double sum(double i,double j,double k,double t) return i+j+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论