第3讲类与对象.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* public void display(char c, int a){//两个参数,一个为char型,另一个为int型 System.out.println(c); System.out.println(a); } public void display(int a, int b, char c){//三个参数,两个为int型,第三个为char型 System.out.println(a); System.out.println(b); System.out.println(c); } } public class OverLoadTest { public static void main(String args[]){ OverLoad ol=new OverLoad(); ol.display(2007,5); ol.display(2007, x); ol.display(x, 2007); ol.display(2007,5,x); } } 程序运行结果: 2007 5 2007 x x 2007 2007 5 x * Java中把方法名和参数类型( 不包含返回值)称为型构,上例中的方法型构有4种,即: display(int, int)、display(int, char)、display(char, int)、display(int, int, char) 调用时,Java编译器会根据方法的实参,自动找到与这种型构匹配的方法来执行。 构造方法重载 一个类可以拥有多个构造方法,从而可以根据需要以不同的方式来初始化对象。例如:学生类中可以有3个不同的构造方法: Student( )、Student(String name)、 Student(String name, String number) 类似这样的构造方法重载在Java 的类库中是很常见的。 * 默认构造方法(即无参数的构造方法) 请注意以下两点: 在一个类中,如果没有构造方法,系统将会自动提供一个空的构造方法,以构造类的对象。例如: 系统会自动提供一个默认构造方法: public Garden(){ } * 一个类中,如果已经有了构造器,系统就不再提供一个空的构造方法。例如: 系统不会提供默认构造方法: public Student(){ } 假若需要,则应显式声明 * this关键字 this关键字表示是“当前对象”,当出现在类的实例方法中,代表使用该方法的对象;出现在类的构造方法中,代表使用该构造方法创建的对象。 事实上,当成员变量出现在方法中,默认的格式是:this.成员变量。 class Hi{ int a; void setA(int b){ a=b; } int getA( ){ return a; } } 等同于 class Hi{ int a; void setA(int b){ this.a=b; } int getA( ){ return this.a; } } * 在下列三种情况下,必须使用this关键字: 方法的形式参数与类的成员变量同名; class Person{ String name; int age; public Person(String name, int age){ this.name=name; this.age=age; } } 一个类中的构造器调用同一个类中的另一个构造器; 调用的方法: this([参数列表]) //构造器的第一条语句 * class Person{ String name; int age; public Person(String name){ this.name=name; } public Person(String name, int age){ this(name); //构造器的第一条语句 this.age=age; } } 假设有一个容器类和一个组件类,在容器类的某个方法中要创建组件类的实例对象,而组件类的构造方法要接收一个代表其所在容器的参数(这种模型在事件处理中很常见)。 * class Container{ //容器类 Component comp; public void addComponent(){ comp=new Component(this) ; //将this作为对象引用传递 } } class Component{ //组件类 Container mycontainer; public Componet(Container c){ mycontainer=c

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档