第4章 面向对象编程(成员变量成员方法构造方法重载方法)讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二、构造方法
1.概念及特点
又称构造函数、构造器 构造函数是类的一种特殊方法,它的特殊性主要体
现在如下的几个方面: (1)构造函数的方法名与类名相同。 (2)构造函数没有返回类型。 (3)构造函数的主要作用是完成对类的对象的初始化 工作。 (4)构造函数不能由编程人员显式地直接调用。 (5)在创建一个类的新对象的同时,系统会自动调用 该类的构造函数为新对象初始化。
例:读出下列程序的运行结果
class Company{ static String name,city;} public class OurCompany{ public static void main(String[]args){ Company c1=new Company(); c1.name="交通公司"; c1.city="上海"; Company c2=new Company(); c2.name="电力公司"; c2.city="北京"; System.out.println(c1.name+":"+c1.city); } }
class Book { static String bookconcern ="清华大学出版社"; String bookname,publishtime; float bookprice; long booknumber; double saleAmount(){ return booknumber*bookprice; }} class MyBook { public static void main(String[]args){ Book book1=new Book (); book1.bookname="Java程序设计"; book1.publishtime="2005年7月"; book1.bookprice=23.5f; book1.booknumber=3000L; System.out.println("出版社:"+Book.bookconcern+"\n书名: "+book1.bookname+"\n单价:"+book1.bookprice+"元\n发行日期: "+book1.publishtime+"\n已售数量:"+book1.booknumber+"本\n销售总额: "+book1.saleAmount()); }} //请试着从命令行输入bookprice、bookname等的值
实例变量Leabharlann Baidu类变量的访问
举例
class VerifyConstant{ int i; static float j; public static void main(String[]args){ //System.out.print(i); VerifyConstant vc=new VerifyConstant(); System.out.println(vc.i+"\n"+vc.j); System.out.println("j="+j); System.out.println("j="+ VerifyConstant .j); } }
问题:指出下列类中成员变量和成员方法的具 体形式
class Judge{ int i; static float j; final static double k=26.7789; void aa(){ System.out.print(“Welcome!”); } static int bb(int p){ return 6; } public static void main(String[]args){ } }
面向对象编程 (成员变量、成员方法、构造方法、 重载方法)
本章学习指引:
成员变量(成员方法)
构造方法 方法重载
一、成员变量
实例变量(对象变量)
Java中的成员变量
类变量(静态变量)
成员变量存放位置:在类的内部并位于方法体之外 作用域:整个类 class VariableOfFamily{ int i; boolean flag; int aa(){ float j; return 5; } }
结论
实例变量是属于对象的,在类方法中,必须通过对象
访问。
在实例方法中可以直接访问实例变量
类变量是属于类的。在同一个类中可以直接访问,在
其他类中,可以通过对象访问或通过类名访问。
注意:成员方法的访问类似于成员变量
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.print(vc.i); } public static void main(String[]args){ bb(); } }
注意: 类变量是属于类的,属于类中所有对象,类变量被 保存在该类内存区的公共存储单元中。类变量不 会因为对象的存在而存在。 实例变量是属于对象的,与具体对象相关联,只 有对象被创建了,该对象访问的变量才会存在于 存储单元中。 类变量的值会随着最后一个对象的改变而改变, 而对象变量的值的改变只与具体的对象有关
课堂练习
编写一个Java Application程序,该程序能计
算出清华大学出版社某本书自从发行以来的 销售总额。
要求输出的结果如下:
出版社:清华大学出版社 书名:Java程序设计 单价:23.5元 发行日期:2005年7月 已售数量:3000本 销售总额: 元 出版社:清华大学出版社 书名:.NET程序设计 单价:21.6元 发行日期:2007年12月 已售数量:3500本 销售总额: 元
如何区分成员变量的两种形式
-通过static关键字来区分 [static] 类型 变量名
class A{ int i;
static float j;
}
注意:成员方法类似于成员变量的两种形式区分 [static]返回值类型 方法名([参数表]) {语句体} 返回值类型:有参返回(int、float、double等等) 无参返回(void)
相关文档
最新文档