方法的定义:

  • 方法是类或对象的行为特征的抽象。
  • Java中的方法不能独立存在,所有的方法必须定义在类中。
  • 使用 “类名.方法” 或 “对象.方法” 的形式调用。
  • 语法格式:

    权限修饰符 返回值类型 方法名(参数类型 参数名) {

      // 方法体

      // 返回值

    }

方法分类:

  • 无参数无返回值
  • 有参数无返回值
  • 无参数有返回值
  • 有参数有返回值
public class Method {

    public void aMethod() {
System.out.println("无参数无返回值的方法");
} public void bMethod(int b) {
System.out.println("有参数无返回值的方法");
} public int cMethod() {
System.out.println("无参数有返回值的方法");
return 10;
} public int dMethod(int d) {
System.out.println("有参数有返回值的方法");
return d;
} public static void main(String[] args) {
int ret;
     // 创建Method类的对象
Method md = new Method();
     // 通过对象.方法调用
md.aMethod();
md.bMethod(10);
ret = md.cMethod();
ret = md.dMethod(10);
System.out.println(ret);
}
}

方法的参数:

方法可以没有参数,或者有多个参数,参数类型可以是任意类型

方法参数也是局部变量

参数为引用数据类型时:

  当对象实例作为参数传递给方法时,传递的是对象的引用,为地址传递,接受参数的方法可以改变参数的值。

参数为简单数据类型时:

  传递的是参数的副本,为值传递,接受参数的方法中不会改变参数的值。

public class MethodParam {

    /**
* 方法的参数为基本数据类型时,传递的是值的副本(值拷贝)
* 方法中不会改变元参数的值
*/
public void swap(int a, int b) {//a, b为形参
int tmp;
tmp = a;
a = b;
b = tmp;
} int x = 100, y = 200; /**
* 方法的参数为引用数据类型时,传递的对象的引用(传地址)
* 方法中可以改变参数的值
*/
public void swap2(MethodParam mp) {
int tmp = mp.x;
mp.x = mp.y;
mp.y = tmp;
} public static void main(String[] args) {
MethodParam mp = new MethodParam(); int m = 10, n = 20;
System.out.println("交换前:a = "+m+",b = "+n);
mp.swap(m, n);// m,n为实参
System.out.println("交换后:a = "+m+",b = "+n); System.out.println("交换前:x = "+mp.x+",y = "+mp.y);
mp.swap2(mp);
System.out.println("交换后:x = "+mp.x+",y = "+mp.y);
} }

Java 成员方法的定义的更多相关文章

  1. Java类的定义及其实例化

    如果你不了解类和对象的概念,请猛击这里:Java类和对象的概念 类必须先定义才能使用.类是创建对象的模板,创建对象也叫类的实例化. 下面通过一个简单的例子来理解Java中类的定义: public cl ...

  2. 《Java基础知识》Java类的定义及其实例化

    类必须先定义才能使用.类是创建对象的模板,创建对象也叫类的实例化. 下面通过一个简单的例子来理解Java中类的定义: public class Dog { String name; int age; ...

  3. [JAVA] java class 基本定义 Note

    java class 基本定义 Note 1 package abeen.note; 2 import java.util.*; 3 4 5 /* 6 java calss 基本 7 */ 8 pub ...

  4. java类中定义接口

    今天看到一个java类中定义了接口,写个备忘录,记录一下 package com.gxf.test; public class Test_interface { public interface sh ...

  5. java它们的定义jar套餐读Excel(这包括2003和2007)数据,和实例

    使用java它们的定义jar套餐读excel数据支持excel2007和excel2003 在http://download.csdn.net/detail/u010792467/8079355下载所 ...

  6. JAVA数组的定义以及使用1

    public class HelloWorld { public static void main(String[] args){ // Scanner s = new Scanner(System. ...

  7. 【mybatis】mybatis使用java实体中定义的常量,或静态方法

    mybatis使用java实体中定义的常量 示例代码: <select id="findDealerInfo" parameterType="com.pisen.c ...

  8. AJPFX总结面向对象中成员变量和成员方法的定义

    //面向对象中成员变量和成员方法的定义格式:=========================================          成员变量定义在类中方法外,可以被该类中所有方法使用. ...

  9. Java类的定义与类的实例化

    目录 Java类的定义与类的实例化 类的定义 定义一个简单的类 定义一个成员变量 定义一个方法 定义一个构造器 类的实例化 创建对象及使用对象: 创建对象的过程在内存中的表现 Java类的定义与类的实 ...

随机推荐

  1. SpringBoot2.0之整合ElasticSearch

    就类比数据库到时候去实现 服务器端配置 集群名字  与yml名字一致 pom: <project xmlns="http://maven.apache.org/POM/4.0.0&qu ...

  2. eclipse——JavaEE插件

    步骤如下 1.先看自己的eclipse版本 2.开始安装JavaEE插件 http://download.eclipse.org/releases/Photon 注意:这里后面红色的是博主eclips ...

  3. java类敏感词过滤类

    package com.fpx.pcs.prealert.process.service.impl; import java.util.HashMap;import java.util.HashSet ...

  4. Amazon SES介绍 - SES发送邮件的过程

     Amazon SES,  全称Amazon Simple Email Service,即Amazon简单邮件服务,它是Amazon提供的一款供开发人员或公司企业用来处理邮件相关业务的服务,也就是说, ...

  5. ubuntu 14.04中安装 ruby on rails 环境(填坑版) 呕血推荐

    环境:在win7 上Vmware虚拟机环境中安装的ubuntu 14.04 开发相关: ruby 2.2.0 rails 4.2.0 sublime text 3 本文说明:所有的命令均在$ 之后,若 ...

  6. IT技术栈、JAVA技术栈、游戏开发技术栈

    一.形成IT思想,把各种技术融会贯通,使用时按需对技术选型. 二.对于每个知识点,框架的掌握依次分为三层. 1.会使用 2.熟悉原理 3.了解源码 三.思维导图

  7. Django进阶Form篇

    一.django表单系统中,所有的表单类都作为django.forms.Form的之类创建,包括ModelForm 关于django的表单系统,主要分两种: 1.基于django.forms.Form ...

  8. IDL语言开发规范

    一.支持的类型 1.IDL支持常见的基本类型,常量,枚举,容器,结构体,服务.不支持多态和重载,参数.返回值不能为空,各个基本类型的标识如下: bool:对应java的boolean,布尔类型(tru ...

  9. python基础之迭代器协议和生成器(二)

    一.什么是迭代器: 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束. 迭代器是一个可以记住遍历的位置的对象. 迭代器的 ...

  10. QT画图

    if (0) { QApplication a(argv, args); QGraphicsScene scene; scene.setSceneRect(-300,-300,600,600); sc ...