Java 成员方法的定义
方法的定义:
- 方法是类或对象的行为特征的抽象。
- 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 成员方法的定义的更多相关文章
- Java类的定义及其实例化
如果你不了解类和对象的概念,请猛击这里:Java类和对象的概念 类必须先定义才能使用.类是创建对象的模板,创建对象也叫类的实例化. 下面通过一个简单的例子来理解Java中类的定义: public cl ...
- 《Java基础知识》Java类的定义及其实例化
类必须先定义才能使用.类是创建对象的模板,创建对象也叫类的实例化. 下面通过一个简单的例子来理解Java中类的定义: public class Dog { String name; int age; ...
- [JAVA] java class 基本定义 Note
java class 基本定义 Note 1 package abeen.note; 2 import java.util.*; 3 4 5 /* 6 java calss 基本 7 */ 8 pub ...
- java类中定义接口
今天看到一个java类中定义了接口,写个备忘录,记录一下 package com.gxf.test; public class Test_interface { public interface sh ...
- java它们的定义jar套餐读Excel(这包括2003和2007)数据,和实例
使用java它们的定义jar套餐读excel数据支持excel2007和excel2003 在http://download.csdn.net/detail/u010792467/8079355下载所 ...
- JAVA数组的定义以及使用1
public class HelloWorld { public static void main(String[] args){ // Scanner s = new Scanner(System. ...
- 【mybatis】mybatis使用java实体中定义的常量,或静态方法
mybatis使用java实体中定义的常量 示例代码: <select id="findDealerInfo" parameterType="com.pisen.c ...
- AJPFX总结面向对象中成员变量和成员方法的定义
//面向对象中成员变量和成员方法的定义格式:========================================= 成员变量定义在类中方法外,可以被该类中所有方法使用. ...
- Java类的定义与类的实例化
目录 Java类的定义与类的实例化 类的定义 定义一个简单的类 定义一个成员变量 定义一个方法 定义一个构造器 类的实例化 创建对象及使用对象: 创建对象的过程在内存中的表现 Java类的定义与类的实 ...
随机推荐
- 导出成可运行jar包时所遇问题的解决办法 - 转载
Could not find main method from given launch configuration 当我把我的Java工程导出为可运行的jar包时,遇到了“Could not fin ...
- AttributeError: module 'matplotlib' has no attribute 'verbose' (pycharm中使用matplotlib 2.2.0的坑)
AttributeError: module 'matplotlib' has no attribute 'verbose' 环境信息 本地系统:win10 本地开发环境:python(3.6.3), ...
- iOS CoreData (二) 版本升级和数据库迁移
前言:最近ChinaDaily项目需要迭代一个新版本,在这个版本中CoreData数据库模型上有新增表.实体字段的增加,那么在用户覆盖安装程序时就必须要进行CoreData数据库的版本升级和旧数据迁移 ...
- 使用ConcurrentLinkedQueue惨痛的教训
服务端原本有个定时任务对一个集合ArrayList 中的消息做处理. 因为考虑到处理消息是先进先出原则,所以优化的时候考虑改用ConcurrentLinkedQueue 当时没仔细深入研究过这个集合就 ...
- 关于JDK1.8 HashMap扩容部分源码分析
今天回顾hashmap源码的时候发现一个很有意思的地方,那就是jdk1.8在hashmap扩容上面的优化. 首先大家可能都知道,1.8比1.7多出了一个红黑树化的操作,当然在扩容的时候也要对红黑树进行 ...
- jQuery EasyUI Datagrid VirtualScrollView视图简单分析
大家都知道EasyUI的Datagrid组件在加载大数据量时的优势并不是很明显,相对于其他一些框架,如果数据量达到几千,便会比较慢,特别是在IE下面.针对这种情况,我们首要做的是要相办法优化datag ...
- yii2: 点击编辑后,左侧的连接(a.navtab)失效,变成在新窗口打开
如:图一 使用a.navtab的时候,点击[自定义回复]->右侧列表,随便编辑一个,完成后 图二: 再点击,左侧的菜单,打开iframe就会失败,直接在新窗口打开.源代码如下: 造成这样的原因是 ...
- Appium 自动化测试(4)-- 脚本开发:官方demo演示 android_contacts.py
前提:根据前面的环境搭建介绍,安装好相关环境 step1:启动android模拟器 step2:启动Appium服务端 step3:演示代码执行 这里执行的是官方的演示代码:通讯录管理app,安装打开 ...
- Windows Desktop Optimization.bat
界面: github: https://github.com/m2nlight/WindowsDesktopOptimization Config Service [Disabled] Windows ...
- jmeter导入jar包后在beanshell中import失效的问题解决
最近一直很忙,没有时间来更新了,今天抽空把之前遇到的问题记录下来. 之前在使用jmeter做http请求性能压测时,因为要对所有入参做排序再加密作为一个入参,所以写了一段java代码,用来处理入参,打 ...