第一个Java程序程序3.1Rectangle.javaclass Rectangle {int a,b;int getArea()return a*b;7void locate(int x,int y)System.out.println("The position s("+x+","+y+")")1public staticvoid main(String args[))Rectangler1=newRectangle();r1.locate(3,4);r1.a=2;r1.b=3;intarea=r1.getArea();System.out.println("Area of r1 is:"+area)7
第一个Java程序 程序3.1 Rectangle.java class Rectangle { int a,b; int getArea(){ return a*b; } void locate(int x,int y){ System.out.println("The position s("+x+","+y+")"); } public static void main(String args[]) { Rectangle r1=new Rectangle(); r1.locate(3,4); r1.a=2; r1.b=3; int area=r1.getArea(); System.out.println("Area of r1 is:"+area); } }
第一个Java程序main方法是程序的入口包含main方法的类是Java应用程序的主类一个Java源文件可以包含多个类,但同一个Java源文件只有主类可以声明为publicJava源文件的命名必须与主类同名
第一个Java程序 ◼ main方法是程序的入口 ◼ 包含main方法的类是Java应用程序的主类 ◼ 一个Java源文件可以包含多个类,但同一个 Java源文件只有主类可以声明为public ◼ Java源文件的命名必须与主类同名
3.3成员变量的作用域在Java中变量的作用域是由大括号组成的程序块决定在不嵌套的程序块中可以多次声明相同变量在嵌套的程序块中不允许重复声明同名的变量声明在方法中的变量为局部变量,与实例变量重名的局部变量会覆盖实例变量,其作用域为整个方法体。 见程序3.2 TestScoping.java
3.3成员变量的作用域 ◼ 在Java中变量的作用域是由大括号组成的程序 块决定 ◼ 在不嵌套的程序块中可以多次声明相同变量 ◼ 在嵌套的程序块中不允许重复声明同名的变量 ◼ 声明在方法中的变量为局部变量,与实例变量 重名的局部变量会覆盖实例变量,其作用域为 整个方法体。 见程序3.2 TestScoping.java
作用域举例合法的声明:(int x=1;7(int x=2;int x= 1;1(int y=2 //xy可用不合法的嵌套声明:7(//x可用y超出作用域1int x=1;(int x=2;77
作用域举例 { int x= 1; { int y=2 //xy可用 } // x可用y超出作用域 } 合法的声明: { int x=1; } { int x=2; } 不合法的嵌套声明: { int x=1; { int x=2; } }
3.4方法重载方法重载(Overload)是指一个类中可以定义参数列表不同但名字相同的多个方法,调用时,会根据不同的参数列表来选择对应的方法。■重载的方法名字必须相同重载的方法参数必须不同当一个重载方法被调用时,Java用参数的类型和(或)数量来表明实际调用的重载方法的版本。每个重载方法的参数的类型和(或)数量必须是不同的。虽然每个重载方法可以有不同的返回类型,但返回类型并不足以区分所使用的是哪个方法。当Java调用一个重载方法时,参数与调用参数匹配的方法被执行。见程序3.3TestOverload.java程序3.4TestOverload1.java
3.4方法重载 方法重载(Overload)是指一个类中可以定义参数列表不 同但名字相同的多个方法,调用时,会根据不同的参数列 表来选择对应的方法 。 ◼重载的方法名字必须相同 ◼重载的方法参数必须不同 当一个重载方法被调用时,Java 用参数的类型和(或)数量来表明 实际调用的重载方法的版本。每个重载方法的参数的类型和(或) 数量必须是不同的。虽然每个重载方法可以有不同的返回 类型,但 返回类型并不足以区分所使用的是哪个方法。当Java 调用一个重载 方法时,参数与调用参数匹配的方法被执行。 见程序3.3 TestOverload.java 程序3.4 TestOverload1.java