第二章 类与对象 (续) - 武汉大学_第1页
第二章 类与对象 (续) - 武汉大学_第2页
第二章 类与对象 (续) - 武汉大学_第3页
第二章 类与对象 (续) - 武汉大学_第4页
第二章 类与对象 (续) - 武汉大学_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、public class f public int xy(int x,int y)int m;m=4*x*x+5*y*y+2*x*y;return m;z=4*x*x+2*x*y+5*y*ypublic class e public static void main(String args)int z; f xplugy =new f();z=xplugy.xy(2,3);System.out.println(z);第二章第二章 类与对象类与对象 (续)(续)本章要点本章要点一、构造函数一、构造函数二、方法二、方法三、重载方法三、重载方法四、四、main方法方法五、五、this一、构造函数一、

2、构造函数使用目的:给对象进行初始化,这种初始化动作在使用目的:给对象进行初始化,这种初始化动作在new 返回新创返回新创建对象的引用前完成建对象的引用前完成!注:!注: 构造函数与它要初始化的类同名构造函数与它要初始化的类同名 构造函数是给对象赋初值,没有返回值构造函数是给对象赋初值,没有返回值 构造函数不能被程序显示调用构造函数不能被程序显示调用 构造函数可以有零个或多个自变量构造函数可以有零个或多个自变量 构造函数可以在类中由编程者定义,如果编程者没有定义,构造函数可以在类中由编程者定义,如果编程者没有定义,系统将自动生成一个构造函数系统将自动生成一个构造函数 构造函数可以通过重载实现不同

3、的初始化方法构造函数可以通过重载实现不同的初始化方法public class jint a;boolean b;public static void main(String atr) j k=new j(); System.out.println(k.a); System.out.println(k.b); class Cat private float weight;private String color;public String getColor()return color;public float getWeight()return weight;Cat(String s)color

4、=s;System.out.println(Its a + s+ cat.);Cat(String s,float w)color=s;weight=w;System.out.println(Its a + s+ cat and weight +w+kg.);public class testConstructor1public static void main (String args)Cat catA=new Cat(black);System.out.println(The cat weight +catA.getWeight()+kg.);Cat catB=new Cat(whight

5、,0.9f);/Cat catc=new Cat();静态初始化静态初始化静态初始化只对类进行初始化而不是对象,他操作的一静态初始化只对类进行初始化而不是对象,他操作的一定是类的静态属性,他是在该类加在内存时自动调用定是类的静态属性,他是在该类加在内存时自动调用的的public class AboutStaticConstructorstatic int objectInitialNumber;static objectInitialNumber=1001;AboutStaticConstructor()objectNo=objectInitialNumber+; private int ob

6、jectNo;public int getobjectNo() return objectNo;public static void main(String arg)AboutStaticConstructor number1=new AboutStaticConstructor();AboutStaticConstructor number2=new AboutStaticConstructor();AboutStaticConstructor number3=new AboutStaticConstructor();System.out.println(number1.getobjectN

7、o();System.out.println(number2.getobjectNo();System.out.println(number3.getobjectNo();public class TestIdint personid;static int id;static id=1;public TestId()personid=id+;public static void main (String arg)TestId id1=new TestId();System.out.println(id1.personid);TestId id2=new TestId();System.out.

8、println(id2.personid);二、方法二、方法方法是一个命名的代码块,用来完成一定的特殊功能,方法是一个命名的代码块,用来完成一定的特殊功能,它可以输入不同的自变量,而得到不同的返回值,它它可以输入不同的自变量,而得到不同的返回值,它可以把程序中特定的功能块组合到一起,便于多次使可以把程序中特定的功能块组合到一起,便于多次使用,也能使程序结构变得清晰用,也能使程序结构变得清晰public class TestFunction1public static void main (String args)long z=11;int x=1;for (x=3,z=1;x0;x-) z*=

9、x; System.out.println(3!= +z);for (x=6,z=1;x0;x-) z*=x; System.out.println(6!= +z);for (x=9,z=1;x0;x-) z*=x; System.out.println(9!= +z);public class TestFunction2public static void main(String args) TestFunction2 test=new TestFunction2(); test.factorial(3);test.factorial(6);test.factorial(9);static

10、void factorial(int n)int x=n;long m=1;for (;x0;x-) m*=x; System.out.println(n+!=+m);方法的定义方法的定义修饰符修饰符 返回值类型返回值类型 方法名(方法名(形参说明形参说明)throws 例外名例外名1,里外名里外名2,局部变量声明;局部变量声明;执行语句组;执行语句组; public class variablepublic static void main(String args)int j=0;for (int i=0;i10;i+) System.out.println(i in for loop:+i

11、); /System.out.println(i out of for loop:+i); System.out.println(j:+j);public class e public static void main(String args)int z; f xplugy =new f();z=xplugy.xy(2,3);System.out.println(z);public class fpublic int xy(int x,int y)int m;m=4*x*x+5*y*y+2*x*y;return m; 五、方法的重载五、方法的重载 方法重载具有在类中用相同的名字定义多个方法的能

12、方法重载具有在类中用相同的名字定义多个方法的能力,方法调用时,编译器根据传递给方法的参数个数力,方法调用时,编译器根据传递给方法的参数个数选择正确的方法。这意味着重载的方法必须有不同数选择正确的方法。这意味着重载的方法必须有不同数目或类型的参数(注意:不能通过返回值的类型来进目或类型的参数(注意:不能通过返回值的类型来进行方法重载)。行方法重载)。 方法重载是非常强大的有用特性。其思想就是基于不方法重载是非常强大的有用特性。其思想就是基于不同类型的参数创建有相同功能的方法。这就实现了单同类型的参数创建有相同功能的方法。这就实现了单个方法可以操作任何类型的幻想。系统提供的个方法可以操作任何类型的

13、幻想。系统提供的println方法就是很好的例子。方法就是很好的例子。 println方法的声明如下:方法的声明如下:println方法的声明方法的声明public void println()public void println(boolean x)public void println(char x)public void println(int x)public void println(long x)public void println(float x)public void println(double x)public void println(char x)public vo

14、id println(String x)public void println(Object x)方法重载的作用方法重载的作用 如前面给出的如前面给出的println方法的例子,我们只需要关心该方方法的例子,我们只需要关心该方法的作用,即打印,而不需要关心方法使用的具体的参法的作用,即打印,而不需要关心方法使用的具体的参数。数。 方法重载的作用就是,可以使我们只关心方法实现的作方法重载的作用就是,可以使我们只关心方法实现的作用。用。 理解好方法重载,便于和以后学到的方法覆盖相区别。理解好方法重载,便于和以后学到的方法覆盖相区别。/MethodOverload.java/演示方法的重载演示方法的重载public class MethodOverloadpublic void method()System.out.println(public void method();public void method(String s)System.out.println(public void method() + s);public static

温馨提示

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

最新文档

评论

0/150

提交评论