面向对象相关知识点整理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
wk.baidu.com
7、static 关键字的使用 1) static 可以修饰属性、方法、代码块和内部类。 2) static 本身是静态的含义,当一个组件(我们暂且将属性、方法、代码块和内 部类称为是类的组件)被 static 修饰时,就意为着该组件不再依赖于对象的存 在,而只依赖于类的存在。 3) static 修饰的属性为静态属性,所有的对象共享同一个值,即当一个对 象改变其值时,会同步的影响到其它的对象。 4) static 修饰的方法为静态方法,该方法可以通过类名去调用,注:static 修饰的 方法不存在方法的复写这回事。 5) static 修饰的代码块为静态代码块,要优先于主方法与构造器执行,并且在整 个过程中只被执行一次, 我们往往可以使用静态代码块为我们所定义的常量设 置初始值。 6) static 不能用来修饰抽象方法,因为我们上面提到过,静态方法不存在方法的 复写这回事,而抽象方法本来目的就是让子类复写,这就自相矛盾。 7) static 修饰的内部类不依赖于外部类的实例化而实例化。 8) 在静态方法或代码块中不能直接访问非静态的属性或方法,必须通过对象去访 问。 三、类的封装性 1、 概念:为了避免对属性的直接操作造成数据访问不安全的现象,我们引入了封装的 概念,封装是一种信息隐蔽技术,其目的就是为了隐藏实现的细节,在面向对象的程序设计 中,封装是面向对象的核心特征之一,其分为对对象属性的封装和对类的实现细节的封装, 前者是我们一般意义上的封装,后者是对类的抽象,体现在面向接口的编程思想上。 2、 封装的实现 1)属性私有,即属性用 private 修饰 2)针对属性写其 setXX 方法 和 getXX 方法,其中 setXX 方法用来对属性设值, 而 getXX 方法是用来获取属性的值,setXX 和 getXX 是 Java 的一种命名规范,并不是 必须的,但是我们在编程中要尽量的遵守 Java 的命名规范,如果是看别人的代码,我 们分别是不是采用了封装,只要看一下属性是不是私有就可以了。 四、继承 1、概念:面向对象程序的设计是对现实世界的模拟,在现实世界中存在继承的关系, 比如说,儿子可以继承父亲的财产,那么在面向对象的程序设计中,同样存在继承关系,并 且继承还是面向对象的四大特征之一。 2、继承的实现 继承通过 extends 关键字实现,其格式是 子类 extends 父类 3、Java 中对继承的规定 1)Java 中只允许单重继承,而不允许多重继承, 即一个子类只能有一个直接父类。 2)在 Java 中允许多层继承,即一个子类还可以有子类,类似这样,可以形成一个 树形的继承结构。 3)继承时,只能继承父类中非私有的属性或方法,而不能继承私有的属性或方法。 4、super 关键字的使用 1) super 用来调用父类的属性、方法和构造器。 2) super 的使用和 this 相似 5、动态绑定 --------调用一个对象方法的机制 1)编译器检查对象的声明类型和方法名。
一句话概括:类是创建对象的模板(蓝图) ,而对象是类的实例。 2、类的声明格式 访问权限 class 类名{ //类体 } 举例:声明一个平面二维点的类,包含 x,y 两个属性和一个移动的点的轨迹的方法 public class Point{ int x; int y; public void move(int x1,int y1){ x += x1; y += y1; } } 3、对象的创建 在 Java 中,对象的创建依赖 new 关键字,其格式为: 类名 对象名 = new 类名(); 4、调用对象的属性与方法 当我们创建了一个对象时,就可以通过对象名访问其属性和方法了,当然如果 其属 性或方法被私有时,我们只能在本类中访问,这是我们在访问权限中将要解决的问题。通过 对象访问其属性或方法的格式是:对象名.方法名(实参列表) 或 对象名.属性名。 5、构造器 1) 、构造器与类名相同。 2) 、构造器没有返回值类型的定义,注意这里说的没有返回值类型的定义,是说其 根本就不用写返回值,而不是说其没有返回值,用 void 声明。 3) 、构造器一般用来完成对类的属性的初始化工作。 4) 、构造器可以重载,其规则与方法的重载一致,即只要形参列表不同即可,但不 能被复写。 5) 、当我们采用 new 关键字创建一个对象时,会默认调用类中无参的构造器,当 然我们也可以显式的调用带参数的构造器。 6) 、每个类默认都有一个无参的构造器,一旦我们定义一个带参数的构造器,则默 认的构造器弥失。 7) 在一个构造器中可以通过 this(实参列表)或 super(实参列表)的方式来调用本类中 、 的构造器或父类中的构造器。 8) 、使用 this 或 super 调用构造器,必须放在构造器的首行;有两层含义, 一是必 须放在首行(即构造器中的第一条语句) ,二是只能在构造器中调用构造器,而 不能在普通方法中调用构造器。 6、this 关键字的使用 1)this 可以调用本类的中的方法或属性,也可以调用本类中的构造器。 2)this 调用本类中的属性的格式是: this.属性名,注:在不引起变量名冲突的 情况下,可以省略 this。 3)this 调用本类中的方法的格式是: this.方法名(参数列表),当然也可以省略 this。 4)this 调用本类中的构造器的格式时 this(实参列表) 。 5)this 不能用在 static 修饰的方法或代码块中。
举例:如果我们现在想要求一个数的开平方数,则可以通过 Math 类的 sqrt() 方法完成, double result = Math.sqrt(100); 2)、调用实例方法 实例方法依赖于对象的存在,对实例方法的调用分为两种情况。 a)、在本类或本类子类 的实例方法中调用另一个实例方法,可以通过 this 或 super 关键字调用,当然也可以省略 this 和 super。 其格式为: this.方法名(实参列表) 或 supert.方法名(实参列表) // 可以省略 this 和 super 举例:如果我现在在类中还有一个方法,是用来输出 a + b 的和,那么就可以 这么去调用: System.out.println (add(3,5)); b)、在静态方法中调用实例方法,需要通过对象去调用,其格式为: 对象名.方法名(实参列表); 举例:假设我现在想在一个主方法中输出一个字符串 s 的长度,则可以这 么去调用: System.out.println(s.length()); //说明:length() 是 String 类的一个静态 方法,所以可以通过 String 对象去调用。 需要记住的规则:在静态方法中不能直接调用非静态方法,只能通过对象去调 用。 技巧:在调用方法时,首先先确定该方法是那个类的方法,然后再看一下该方 法是静态方法还是实例方法,需要什么样的参数,有什么样的返回值,那么调用方 法的语句自然就写出来了。 3、抽象方法 抽象方法是一种特殊的实例方法,说他是实例方法,因为抽象方法不能用 static 修 饰。 1)、抽象方法的声明: 访问权限 abstract 返回值类型 方法名(参数列表); 2)、抽象方法只能在接口中或抽象类中声明,不能在普通类中声明。 规则: abstract 不能和 private 连用,也不能和 static 连用 4、方法的重载 方法的重载是 Java 中用来解决命名空间的一种机制,即在同一个类中允许有多个同 名的方法存在。 重载的要求:方法名相同,形参列表不同,至于访问权限和返回值类型可以相同也 可以不同。 5、方法的复写 方法的复写其实是 Java 提供的一个关于修改父类方法的手段,方法的复写发生在父 类和子类之间,当然也可以是间接父类。 方法复写的要求:方法名,返回值类型,参数列表都相同,并且要求子类方法的访 问权限不能比父类的低。 注意:在父类方法中与子类方法的关系除了是复写,还可以是重载;另外由于静态 方法是不依赖于对象存在的,所有静态方法不存在方法的复写关系,如果父类和子类有 两个相同的静态方法,只不过是两个同名方法而已,其余的没有任何关系。 二、类与对象入门 1、类与对象的概念 类是对现实事物的抽象,而对象是现实世界存在的事物,举个例子,就相当于是一 张汽车设计图纸和一辆具体的汽车之间的关系。
2)接着,编译器检查方法调用中的参数类型。如果在所有名字一样的方法中有一 个其参数类型同调用提供的参数类型最匹配,那么该方法就会被选择调用。这个过程叫 做超类载选择。由于类型转换的存在,情况会更复杂。如果编译器不能找到任何同参数 类型匹配的方法,或者有多个方法都匹配转化后的参数类型,那么编译器会报告一个错 误。现在编译器知道了需要调用的方法的名字和参数类型。 3)如果方法类型为 private,static ,final 或者是一个构造器,那么编译器也会准确的 知道该调用那个方法。这称作静态绑定。与之相反,靠隐式参数的实际类型来决定调用 哪个方法叫做动态绑定,这必须发生在运行时。 4)当程序运行并且使用动态绑定来调用一个方法的时候,那么 JVM 必须调用 x 所指向的对象的实际类型相匹配的方法版本。假设实际类型为 D(C 的子类) ,如果 D 定 义了一个方法 f(String),那么该方法就会被调用。否则,就会在 D 的超类中搜寻方法 f(String);其余依次类推。 五、接口 1、接口的声明:接口使用 interface 声明。 2、接口的特点 1)在接口中只能定义抽象方法和常量,所以可以说接口是一个只有抽象方法和常 量的特殊抽象类。 2)在接口中定义的变量都是常量,要求必须被初始化,你可以在接口中采用如下 方式声明常量,public static final 数据类型 变量名 = 值,但这通常是没有必要的,你 只需要使用 数据类型 变量名 = 值 ,因为 JVM 会自动加上 public static final 的修饰 符,这个大家可以通过 javap (一个反编译命令)去验证我的说法就可以了。 3)在接口中声明的方法都是抽象方法,你可以采用如下方式声明抽象方法 ,public abstract 返回值类型 方法名(形参列表),但这也通常是没有必要的,你只需要使用 返 回值类型 方法名(形参列表); ,因为 JVM 会动加上 public abstract 的修饰符。 4)在接口中声明的方法必须是 public 的,在接口中没有其他任何权限的方法,只 有 public 的,这也是抽象类和接口之间的区别,就因为这点,如果我们要实现接口中的 抽象方法时,必须指定方法的权限为 public 而不能为其他的任何类型。 5)在接口中定义的方法不能使用 static final strictfp native synchronized 这些关键字 修饰。 6)接口在任何情况下都不能用 private 和 protected 修饰,除非是在一个内部类声 明的接口,这点在声明类时同样适用。 3、 接口的使用 1)接口可以继承接口,并且可以多继承,其格式式: 接口 A extends 接口 B , 接口 C .......... 2)类可以实现接口,而且还可以实现多个接口,必须实现接口中的所有方法,除 非该类是一个抽象类,其格式为: 类 A implements 接口 B , 接口 C........... 3)类可以同时继承一个类, 实现其他的多个接口, 但要求 extends 在 前 , implements 在后,其格式为 类 A extends 类 B implements 接口 C , 接口 D........... 4)一个类既继承了类又实现了接口,当父类中定义的变量(或常量)与接口中定 义的常量重名时,可以通过接口名.常量名与 super.变量名(父类名.常量名)来区分。 4、接口在实际中的应用 接口一般用在一些模式中, 比如在 J2EE 中应用相当广泛的工厂模式中, 这是后话 ,
一、方法 在 Java 中方法分为两类: 1)、静态方法 2)、非静态方法(也称为实例方法) 1、方法的定义 a) 静态方法的定义: 访问权限 static 返回值类型 方法名(形参列表){ //方法体,方法体即该方法要完成什么样的功能 } 举例:现在我要定义一个静态的方法,其功能是实现对一个数组进行排序 public static void sort(int[] a){ int t ; for(int i = 0;i < a.length - 1;i++){ for(int j = i + 1; j < a.length;j++){ t = a[i]; a[i] = a[j]; a[j] = t; } } } b) 实例方法的定义: 访问权限 返回值类型 方法名(参数列表){ //方法体 } 举例:定义一个方法,实现对两个 int 类型的数进行相加,其返回值仍然是一 个 int 类型 public int add(int x,int y){ return x + y; } 注意:此处有一个 return,其作用是将 x + y 的值返回给调用该方法处的代码, 一旦在一个方法中执行到 return 语句,则程序就结束了该方法的运行,在一定程 度上可以代替 break 语句的使用。 技巧:当我们要定义一个方法时,首先先分析该方法需要什么样的返回值,方 法的参数列表,至于方法名,我们用一个有意义的方法名就可以了,方法的访问权 限和是否是静态方法,可视具体情况而定。个人的建议是,初学者尽量不要定义静 态方法,除非有特殊情况。 2、方法的调用 根据我们方法的分类,同样方法的调用分为两种情况 1)、调用静态方法 静态方法不依赖于对象的存在,只依赖于类的存在,所有调用静态方法可以通 过类名去调用,当然也可以通过类的对象去调用,在同一个类中还可以直接通过方 法名调用。 其格式为: 类名.方法名(参数列表);
7、static 关键字的使用 1) static 可以修饰属性、方法、代码块和内部类。 2) static 本身是静态的含义,当一个组件(我们暂且将属性、方法、代码块和内 部类称为是类的组件)被 static 修饰时,就意为着该组件不再依赖于对象的存 在,而只依赖于类的存在。 3) static 修饰的属性为静态属性,所有的对象共享同一个值,即当一个对 象改变其值时,会同步的影响到其它的对象。 4) static 修饰的方法为静态方法,该方法可以通过类名去调用,注:static 修饰的 方法不存在方法的复写这回事。 5) static 修饰的代码块为静态代码块,要优先于主方法与构造器执行,并且在整 个过程中只被执行一次, 我们往往可以使用静态代码块为我们所定义的常量设 置初始值。 6) static 不能用来修饰抽象方法,因为我们上面提到过,静态方法不存在方法的 复写这回事,而抽象方法本来目的就是让子类复写,这就自相矛盾。 7) static 修饰的内部类不依赖于外部类的实例化而实例化。 8) 在静态方法或代码块中不能直接访问非静态的属性或方法,必须通过对象去访 问。 三、类的封装性 1、 概念:为了避免对属性的直接操作造成数据访问不安全的现象,我们引入了封装的 概念,封装是一种信息隐蔽技术,其目的就是为了隐藏实现的细节,在面向对象的程序设计 中,封装是面向对象的核心特征之一,其分为对对象属性的封装和对类的实现细节的封装, 前者是我们一般意义上的封装,后者是对类的抽象,体现在面向接口的编程思想上。 2、 封装的实现 1)属性私有,即属性用 private 修饰 2)针对属性写其 setXX 方法 和 getXX 方法,其中 setXX 方法用来对属性设值, 而 getXX 方法是用来获取属性的值,setXX 和 getXX 是 Java 的一种命名规范,并不是 必须的,但是我们在编程中要尽量的遵守 Java 的命名规范,如果是看别人的代码,我 们分别是不是采用了封装,只要看一下属性是不是私有就可以了。 四、继承 1、概念:面向对象程序的设计是对现实世界的模拟,在现实世界中存在继承的关系, 比如说,儿子可以继承父亲的财产,那么在面向对象的程序设计中,同样存在继承关系,并 且继承还是面向对象的四大特征之一。 2、继承的实现 继承通过 extends 关键字实现,其格式是 子类 extends 父类 3、Java 中对继承的规定 1)Java 中只允许单重继承,而不允许多重继承, 即一个子类只能有一个直接父类。 2)在 Java 中允许多层继承,即一个子类还可以有子类,类似这样,可以形成一个 树形的继承结构。 3)继承时,只能继承父类中非私有的属性或方法,而不能继承私有的属性或方法。 4、super 关键字的使用 1) super 用来调用父类的属性、方法和构造器。 2) super 的使用和 this 相似 5、动态绑定 --------调用一个对象方法的机制 1)编译器检查对象的声明类型和方法名。
一句话概括:类是创建对象的模板(蓝图) ,而对象是类的实例。 2、类的声明格式 访问权限 class 类名{ //类体 } 举例:声明一个平面二维点的类,包含 x,y 两个属性和一个移动的点的轨迹的方法 public class Point{ int x; int y; public void move(int x1,int y1){ x += x1; y += y1; } } 3、对象的创建 在 Java 中,对象的创建依赖 new 关键字,其格式为: 类名 对象名 = new 类名(); 4、调用对象的属性与方法 当我们创建了一个对象时,就可以通过对象名访问其属性和方法了,当然如果 其属 性或方法被私有时,我们只能在本类中访问,这是我们在访问权限中将要解决的问题。通过 对象访问其属性或方法的格式是:对象名.方法名(实参列表) 或 对象名.属性名。 5、构造器 1) 、构造器与类名相同。 2) 、构造器没有返回值类型的定义,注意这里说的没有返回值类型的定义,是说其 根本就不用写返回值,而不是说其没有返回值,用 void 声明。 3) 、构造器一般用来完成对类的属性的初始化工作。 4) 、构造器可以重载,其规则与方法的重载一致,即只要形参列表不同即可,但不 能被复写。 5) 、当我们采用 new 关键字创建一个对象时,会默认调用类中无参的构造器,当 然我们也可以显式的调用带参数的构造器。 6) 、每个类默认都有一个无参的构造器,一旦我们定义一个带参数的构造器,则默 认的构造器弥失。 7) 在一个构造器中可以通过 this(实参列表)或 super(实参列表)的方式来调用本类中 、 的构造器或父类中的构造器。 8) 、使用 this 或 super 调用构造器,必须放在构造器的首行;有两层含义, 一是必 须放在首行(即构造器中的第一条语句) ,二是只能在构造器中调用构造器,而 不能在普通方法中调用构造器。 6、this 关键字的使用 1)this 可以调用本类的中的方法或属性,也可以调用本类中的构造器。 2)this 调用本类中的属性的格式是: this.属性名,注:在不引起变量名冲突的 情况下,可以省略 this。 3)this 调用本类中的方法的格式是: this.方法名(参数列表),当然也可以省略 this。 4)this 调用本类中的构造器的格式时 this(实参列表) 。 5)this 不能用在 static 修饰的方法或代码块中。
举例:如果我们现在想要求一个数的开平方数,则可以通过 Math 类的 sqrt() 方法完成, double result = Math.sqrt(100); 2)、调用实例方法 实例方法依赖于对象的存在,对实例方法的调用分为两种情况。 a)、在本类或本类子类 的实例方法中调用另一个实例方法,可以通过 this 或 super 关键字调用,当然也可以省略 this 和 super。 其格式为: this.方法名(实参列表) 或 supert.方法名(实参列表) // 可以省略 this 和 super 举例:如果我现在在类中还有一个方法,是用来输出 a + b 的和,那么就可以 这么去调用: System.out.println (add(3,5)); b)、在静态方法中调用实例方法,需要通过对象去调用,其格式为: 对象名.方法名(实参列表); 举例:假设我现在想在一个主方法中输出一个字符串 s 的长度,则可以这 么去调用: System.out.println(s.length()); //说明:length() 是 String 类的一个静态 方法,所以可以通过 String 对象去调用。 需要记住的规则:在静态方法中不能直接调用非静态方法,只能通过对象去调 用。 技巧:在调用方法时,首先先确定该方法是那个类的方法,然后再看一下该方 法是静态方法还是实例方法,需要什么样的参数,有什么样的返回值,那么调用方 法的语句自然就写出来了。 3、抽象方法 抽象方法是一种特殊的实例方法,说他是实例方法,因为抽象方法不能用 static 修 饰。 1)、抽象方法的声明: 访问权限 abstract 返回值类型 方法名(参数列表); 2)、抽象方法只能在接口中或抽象类中声明,不能在普通类中声明。 规则: abstract 不能和 private 连用,也不能和 static 连用 4、方法的重载 方法的重载是 Java 中用来解决命名空间的一种机制,即在同一个类中允许有多个同 名的方法存在。 重载的要求:方法名相同,形参列表不同,至于访问权限和返回值类型可以相同也 可以不同。 5、方法的复写 方法的复写其实是 Java 提供的一个关于修改父类方法的手段,方法的复写发生在父 类和子类之间,当然也可以是间接父类。 方法复写的要求:方法名,返回值类型,参数列表都相同,并且要求子类方法的访 问权限不能比父类的低。 注意:在父类方法中与子类方法的关系除了是复写,还可以是重载;另外由于静态 方法是不依赖于对象存在的,所有静态方法不存在方法的复写关系,如果父类和子类有 两个相同的静态方法,只不过是两个同名方法而已,其余的没有任何关系。 二、类与对象入门 1、类与对象的概念 类是对现实事物的抽象,而对象是现实世界存在的事物,举个例子,就相当于是一 张汽车设计图纸和一辆具体的汽车之间的关系。
2)接着,编译器检查方法调用中的参数类型。如果在所有名字一样的方法中有一 个其参数类型同调用提供的参数类型最匹配,那么该方法就会被选择调用。这个过程叫 做超类载选择。由于类型转换的存在,情况会更复杂。如果编译器不能找到任何同参数 类型匹配的方法,或者有多个方法都匹配转化后的参数类型,那么编译器会报告一个错 误。现在编译器知道了需要调用的方法的名字和参数类型。 3)如果方法类型为 private,static ,final 或者是一个构造器,那么编译器也会准确的 知道该调用那个方法。这称作静态绑定。与之相反,靠隐式参数的实际类型来决定调用 哪个方法叫做动态绑定,这必须发生在运行时。 4)当程序运行并且使用动态绑定来调用一个方法的时候,那么 JVM 必须调用 x 所指向的对象的实际类型相匹配的方法版本。假设实际类型为 D(C 的子类) ,如果 D 定 义了一个方法 f(String),那么该方法就会被调用。否则,就会在 D 的超类中搜寻方法 f(String);其余依次类推。 五、接口 1、接口的声明:接口使用 interface 声明。 2、接口的特点 1)在接口中只能定义抽象方法和常量,所以可以说接口是一个只有抽象方法和常 量的特殊抽象类。 2)在接口中定义的变量都是常量,要求必须被初始化,你可以在接口中采用如下 方式声明常量,public static final 数据类型 变量名 = 值,但这通常是没有必要的,你 只需要使用 数据类型 变量名 = 值 ,因为 JVM 会自动加上 public static final 的修饰 符,这个大家可以通过 javap (一个反编译命令)去验证我的说法就可以了。 3)在接口中声明的方法都是抽象方法,你可以采用如下方式声明抽象方法 ,public abstract 返回值类型 方法名(形参列表),但这也通常是没有必要的,你只需要使用 返 回值类型 方法名(形参列表); ,因为 JVM 会动加上 public abstract 的修饰符。 4)在接口中声明的方法必须是 public 的,在接口中没有其他任何权限的方法,只 有 public 的,这也是抽象类和接口之间的区别,就因为这点,如果我们要实现接口中的 抽象方法时,必须指定方法的权限为 public 而不能为其他的任何类型。 5)在接口中定义的方法不能使用 static final strictfp native synchronized 这些关键字 修饰。 6)接口在任何情况下都不能用 private 和 protected 修饰,除非是在一个内部类声 明的接口,这点在声明类时同样适用。 3、 接口的使用 1)接口可以继承接口,并且可以多继承,其格式式: 接口 A extends 接口 B , 接口 C .......... 2)类可以实现接口,而且还可以实现多个接口,必须实现接口中的所有方法,除 非该类是一个抽象类,其格式为: 类 A implements 接口 B , 接口 C........... 3)类可以同时继承一个类, 实现其他的多个接口, 但要求 extends 在 前 , implements 在后,其格式为 类 A extends 类 B implements 接口 C , 接口 D........... 4)一个类既继承了类又实现了接口,当父类中定义的变量(或常量)与接口中定 义的常量重名时,可以通过接口名.常量名与 super.变量名(父类名.常量名)来区分。 4、接口在实际中的应用 接口一般用在一些模式中, 比如在 J2EE 中应用相当广泛的工厂模式中, 这是后话 ,
一、方法 在 Java 中方法分为两类: 1)、静态方法 2)、非静态方法(也称为实例方法) 1、方法的定义 a) 静态方法的定义: 访问权限 static 返回值类型 方法名(形参列表){ //方法体,方法体即该方法要完成什么样的功能 } 举例:现在我要定义一个静态的方法,其功能是实现对一个数组进行排序 public static void sort(int[] a){ int t ; for(int i = 0;i < a.length - 1;i++){ for(int j = i + 1; j < a.length;j++){ t = a[i]; a[i] = a[j]; a[j] = t; } } } b) 实例方法的定义: 访问权限 返回值类型 方法名(参数列表){ //方法体 } 举例:定义一个方法,实现对两个 int 类型的数进行相加,其返回值仍然是一 个 int 类型 public int add(int x,int y){ return x + y; } 注意:此处有一个 return,其作用是将 x + y 的值返回给调用该方法处的代码, 一旦在一个方法中执行到 return 语句,则程序就结束了该方法的运行,在一定程 度上可以代替 break 语句的使用。 技巧:当我们要定义一个方法时,首先先分析该方法需要什么样的返回值,方 法的参数列表,至于方法名,我们用一个有意义的方法名就可以了,方法的访问权 限和是否是静态方法,可视具体情况而定。个人的建议是,初学者尽量不要定义静 态方法,除非有特殊情况。 2、方法的调用 根据我们方法的分类,同样方法的调用分为两种情况 1)、调用静态方法 静态方法不依赖于对象的存在,只依赖于类的存在,所有调用静态方法可以通 过类名去调用,当然也可以通过类的对象去调用,在同一个类中还可以直接通过方 法名调用。 其格式为: 类名.方法名(参数列表);