方法的声明包含方法头和方法体两部分,方法的声明格式如下:

[修饰符>]<返回类型> <方法名> ([参数列表]){方法体}

方法声明说明如下:

(1)方法声明包括方法头和方法体两部分,其中方法头包括修饰符、返回类型、方法名和参数列表;方法体包括在花括号内的声明部分和语句部分,用于描述方法的功能。

(2)修饰符,表示方法的访问权限。修饰符有private、缺省访问修饰符、protected 和publico

(3)返回类型,为该方法返回值的类型,如该方法没有返回值,则方法的返回类型为void。

(4)参数列表,指定在调用时,应该传递的参数的个数和类型。参数列表如果包含多个参数,相邻的参数之间用逗号隔开,此处的参数在定义时并没有分配存储单元,只有在运行时间才分配,所以称为形式参数。方法也可以没有参数,称为无参方法。注意无参方法后面的一对圆括号不能省略。

(5)对于有返回值的方法,方法体中至少有一条return语句,形式为return (表达式)。当调用该方法时,表达式的值就是方法的返回值,方法返回值的类型应和表达式的类型一致。

(6)方法不能嵌套定义,即不能在方法中再声明其他的方法。

在程序中,方法是不可或缺的。通过使用方法可以完成特定的功能,方法一旦定义, 就可以在不同的程序中多次调用,这样可以增强程序的可读性和可重用性,提高编程的效率。

但对于初学者而言,使用方法时经常出现错误,尤其是在方法的声明和调用以及参数传递方面,下面我们将详细讲解方法的使用。

在Hero处声明一个方法, 该方法用于计算当前英雄的血量

public class Hero {
//定义英雄战斗方法
public void battle(){}
}

由于main() 方法是程序的入口,如果在类中调用指定方法, 则按照如下步骤进行操作

1) 在类的main() 方法中创建可以调用方法的实例。

2)将实例赋值给指定的引用变量,通过引用“变量.方法名”的形式调用方法

调用Hero类中的battle()方法的具体操作见示例

示例:public class Hero{String name;int. age;public void battle(){System.out.println(name+"在肆无忌惮地战斗,他的年龄只有"+age+",可他的血量只有1%了");public static void main(String[] args) {Hero hero = new Hero();//创建英雄对象hero.name='暗夜魔王;//为name属性赋值hero.age = 15;//为age属性赋值hero. battle();//使用该对象的batte()方法}
}

方法参数传递

参数的传递是指实际参数向形参值的传递的过程。如果声明方法时包含形参的声明,则调用方法时必须为这些形参指定参数值,调用方法时实际传给形参的参数值被称为实参。

那么,实参是如何传递给方法的?这是由Java方法的参数传递机制所控制的,Java中方法参数传递方式只有种,即值传递。所谓值传违就是将实参的副本(复制品)传递给形参,而实参本身不会受到任何影响。

public class Parameter {//该方法用于在方法中互换形参值public void change(String x, String y){String temp; //定义- 一个临时变量System. out println(***形参改变之前*”);
System. out. println("x="+X+"\t"+'y= +y);
//形参值互换temp=x;//将x值赋值给变量tempX=y;//将变量y值赋值给变量xy=temp;//将temp值赋值给变量ySystem.out.println(***形参值互换后..*);System. out printn'x='+x+"\t*+'y=" +y);
}
publicstatic void main(String[] args){Parameter param=new Parameter();//创建Parameter实例String a="10",b="20";System. out printin("---调用change()方法前-- - ");System.out. printn('a='+a+"'t"+"b='+b);param.change(a, b); // 调用方法System.out.println("---调用change()方法后-- ");System..Out println("a="+a+"\t"+"b="+b);}
}

java面向对象的方法声明相关推荐

  1. Java中类、方法声明为静态的含义

    这个静态类问题从俩个方面很好的就能够理解: 1.静态的特性 静态是不需要建立对象而直接进被虚拟机放入方法区(三大区:栈内存.堆内存.方法区) 2.类如何被使用 类被使用的前提就是有已经被建立的对象 通 ...

  2. java接口中方法声明_java – 使用实现中声明的接口中未定义的方法

    我有一个由接口定义的类 public interface Test { void testMethod(); } Test test = new TestImpl(); public class Te ...

  3. 用Java面向对象的方法重写“吃货联盟订餐系统”

    该系统实现的功能: 我要订餐 查看餐袋 签收订单 删除订单 我要点赞 退出系统 实体类的定义: Dishes.java package com.xk.entity;/*** 菜品类**/public ...

  4. java Boolean toString()方法

    java Boolean toString()方法 声明 public static String toString(boolean b) 返回值 返回指定布尔值的字符串表达形式 /*** Creat ...

  5. [转载] JAVA面向对象之代码块 继承 方法的重写 super关键字与重写toString()方法介绍

    参考链接: 可以重写Java中的私有方法吗 JAVA面向对象之代码块与继承 代码块分类 局部代码块 作用:限制变量生命周期 书写位置:在方法中 构造代码块 开发中很少使用 书写位置:类中  方法外 调 ...

  6. 【Java 面向对象】基础、Java程序的内存划分、嵌套类(内部类、静态嵌套类)、局部类、接口的升级问题(默认方法、静态方法)、instanceof

    面向对象 对象的内存 复杂对象的内存 对象数组的内存 思考:方法存储在哪里? Java程序的内存划分 this.super 注解(Annotation) 访问控制(Access Control) to ...

  7. 八、Java面向对象编程(类、对象、方法、重载、可变参数、作用域、构造器、this本质)

    文章目录 Java面向对象编程(类.对象.方法.重载.可变参数.作用域.构造器.this本质) 一.类与对象 1. 类与对象的引出 2. 使用现有技术解决 3. 现有技术解决的缺点分析 4. 类与对象 ...

  8. java面向对象例子_Java面向对象及方法实例讲解

    第一节方法 1.1定义 定义:封装了能够完成特定功能的代码块,是程序编程中的一种功能实现单元: 1.2语法 修饰符  返回值类型   方法名(参数列表) { 方法体: } 例子: 1 public s ...

  9. java对象扩展方法_高可扩展的面向对象代码架构是如何设计的

    导语 Java后端程序员的日常工作,大多数可能都是写基于数据库CRUD的Dao层.Manager层.Service层.Controller层,需求来了,就对着这几个层一顿怼代码.调试跑通了,就完事了. ...

最新文章

  1. API sklearn.neighbors.KNeighborsClassifier
  2. Python编程专属骚技巧6
  3. Warning: Attempt to present on whose view is not in模态跳转问题
  4. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明) Stone Games
  5. mybatis嵌套查询和嵌套结果有什么区别_Java面试专题之九:Mybatis面试5个大概率被问到的问题...
  6. 如何在海量数据中查询一个值是否存在?
  7. Spring源码分析-Spring事务源码分析
  8. 【nodejs原理源码赏析(4)】深度剖析cluster模块源码与node.js多进程(上)
  9. 苹果iPhone 12系列智能手机支持北斗卫星导航定位
  10. Performance Tuning
  11. django ----CBV中加装饰器
  12. 在Windows下编译OpenSSL(VS2005)
  13. HTML5+CSS大作业——宝马轿车网页设计(6页) web前端设计与开发期末作品/期末大作业
  14. 如何设计简单的网站Favicon图标?ICO图标制作
  15. GaRy-Liang的linux成长日记2-系统安装
  16. 访客统计php代码转换图片,PHP实现简单网站访客统计的方法实例
  17. 2019.6月全国房价地图
  18. 外贸是什么意思?和跨境电商的区别是什么?
  19. 虚幻引擎图文笔记:使用物理模拟(Physical Simulation)给角色添加一个马尾辫
  20. MERGER INTO语法

热门文章

  1. 做80后的生意:妈咪“十月”装
  2. 顾家北雅思写作笔记_Task2
  3. 倒计时 总结 Timer Handler CountDownTimer RxJava MD
  4. 关于命令行输入星号 * 当乘号做乘法运算出现异常的解释
  5. 黄河水利职业技术学院计算机专业分数,考多少分才能上黄河水利职业技术学院 录取分数是多少...
  6. Recycler 笔记
  7. 对mysql专业技能描述_软件技术专业个人技能怎么写
  8. SEO中期网站优化进入前20名至第3名之间的阶段
  9. 霍纳法树形流图中处理机p个数_计算机系统结构习题课
  10. Python标准库datetime之datetime模块详解