Java中有关方法的简单总结

板蓝根挥发油微胶囊化技术及其在抗菌织物整理中的应用研究 微胶囊技术是一种通过成膜材料将具有反应活性或挥发性的液体或固体包封成微小颗粒的技术。该技术因其优异的缓释保护和物态改变性能,已在医药、食品、化妆品等多个领域得到广泛应用。本研究采用复凝聚法制备板蓝根挥发油的微胶囊,利用明胶和阿拉伯胶作为壁材,旨在提升其稳定性和抗菌性能。 阅读详情

Java有关方法的总结

1.      方法概述

2.      不同类型的方法

3.      方法的调用形式

1.      方法概述

在C、C++中用函数这个术语来描述命名子程序,而在Java中用方法这个术语来表示“做某些事情的方式”。Java中的方法决定了一个对象能够接受什么样的消息,方法的基本组成包括:名称、参数、返回值和方法体

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

        方法体;

}

例如:

	public static int max(int num1,int num2){
		int result;
		if(num1 > num2)
			result = num1;
		else
			result = num2;
		return result;
	}

num1,num2被称之为形式参数(formal parameter),当调用该方法是传递的参数被称之为实际参数(actual parameter)

Java中的方法是基于对象的,只能作为类的一部分来创建,且只能通过对象来被调用,除了静态(static ,针对于类)方法>

2.      不同类型的方法

这里所说的不同类型是指返回类型

基本类型:int、double、float、boolean、char、byte、long、short

无返回型:void

用户自定义类型:用户创建的类型

3.     方法调用,这里主要总结方法调用过程以及Java在方法调用时参数的传递形式

  • 方法的调用过程
public class TestMax {

	/**
	 * 演示方法调用过程
	 * @author LiMing
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int i=1;
		int j=2;
		int k=max(i,j);
		System.out.println("Max is:"+k);

	}
	public static int max(int num1,int num2){
		int result;
		if(num1 > num2)
			result = num1;
		else
			result = num2;
		return result;
	}
}


当程序调用一个方法时,程序控制语句就会转移到被调用的方法中,当执行完return语句或者执行到表示方法结束的右括号时,被调用方法把控制权还给调用者。我们来看看在系统内部是如何实现方法的调用的:

每当调用一个方法时系统都会将参数、变量存储在一个称之为堆栈(Stack)的内存区域,他以后进先出的形式存储数据,当一个方法调用令另一个方法时,调用者的堆栈空间保持不动,新开辟的空间处理新方法的调用。当一个方法结束返回到调用者的时候,其相应的空间也就会被释放

该图演示了上述程序执行过程。

  • 参数传递

    在程序设计语言中有关参数传递的一些术语,值调用(call by value)表示方法接收到的是调用者提供的值。引用调用(call by reference)表示方法接收到的是调用者提供的变量的地址。Java总是采用值调用的。

    public class TestMax {
    
    	/**
    	 * 演示Java方法参数传递形式
    	 * @author LiMing
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int num=0;
    		raise(num);
    		System.out.println("After funtction raise(),num is :"+num);
    	}
    	public static void raise(int x){
    		x = x+1;
    		System.out.println("In the Method,x is :"+x);
    	}
    }

    讨论上述代码执行过程:


方法在调用时传递的其实是num的一个拷贝,raise方法调用结束后,x变量便不再使用

 然而,方法参数共有两种类型:

  • 基本数据类型
  • 对象引用

已经可以看到,一个方法不能修改一个基本类型数据的参数,下面我们来看对于对象引用是否如此:

public class TestMax {

	/**
	 * 演示Java方法参数传递形式
	 * @author LiMing
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Person p1=new Person(100);
		Person p2=new Person(200);
		swap(p1,p2);
		System.out.println("After function swap(): p1'money:"+p1.getMoney()+"  p2'money:"+p2.getMoney());
	}
	public static void swap(Person p1,Person p2){
		double temp=p2.getMoney();
		p2.setMoney(p1.getMoney());
		p1.setMoney(temp);
		System.out.println("In The method: p1'money:"+p1.getMoney()+"  p2'money:"+p2.getMoney());
	}
}
class Person{
	public Person(double m){
		money=m;	
	}
	public double getMoney(){
		return money;
	}
	public void setMoney(double m){
		money=m;
	}
	private double money;
}

下面是程序的输出:

我们惊奇的发现值被改变了,其实内部的运行情况是这样的:

调用方法时首先拷贝出p1和p2的引用,并且拷贝出来的指向相同的区域,通过swap方法交换money后,原来的p1以及p2仍然指向原来的区域,所以会出现值被修改了的结果。

在以这种方式调用方法的时候依然是值调用,上述拷贝被称之为浅拷贝。

 

(11-3-01 ) 以太坊(Ethereum)是一种基于区块链技术的开源平台和加密货币。它于2015年由Vitalik Buterin和Gavin Wood等开发者创建,并成为比特币之后最受欢迎的加密货币之一。以太坊不仅支持加密货币交易,还为开发者和企业提供了构建去中心化应用程序的强大工具。在本节的内容中,将实型一个完整的机器学习模型项目,智能检测出以太坊区块链中的非法账户。从问题定义到模型建立和评估,再到最终的总结和建议。本实例突出了处理类别不平衡问题的重要性,并展示了如何使用多种机器学习算法来解决实际问题。此外,通过数据可 阅读详情

相关推荐

Visual C++与WPF混合开发:C++/CLI桥接技术实现现代化桌面应用

在桌面应用开发领域,混合编程技术是连接不同技术栈、复用核心资产的关键手段。其核心原理在于通过特定的桥接层,实现托管代码与非托管代码之间的互操作,从而打破语言和运行时环境的壁垒。这项技术的核心价值在于,它允许开发者将高性能、高稳定性的原生C++业务逻辑库,与现代化、高表现力的WPF用户界面无缝结合,避免了重写核心代码的巨大成本和风险。在工业控制、数据可视化、上位机软件等对性能和界面均有高要求的应用场景中,这种架构尤为适用。本文以C++/CLI作为桥接技术,详细演示了如何构建一个包含原生C++核心层、C++/C

weixin_33146151的博客 275

java中的参数传递

Parameter passing in Java - Java中的参数传递本文摘抄自国外的一个Java论坛,并由博主Shane依据原文对照翻译,如有问题或指教请与邮箱johnstonshen@tom.com联系,谢谢!IntroductionThis page is gradually growing

记录那些曾今的迷茫 4222

408计算机复试专业课问答汇总

408计算机复试专业课问答汇总

weixin_45930223的博客 3698

java 简单对象_java-简单的对象和方法

好,让我们从构造函数开始.public NumberStatistics() {this.amountOfNumbers=amountOfNumbers;this.average=0;this.sum=0;}在这里,当您创建对象时,会初始化平均值并将总和设为0,但this.amountOfNumbers = amountOfNumbers;没有特别的效果.总结我想你想做的是这样的:public N...

weixin_33736666的博客 208

基于python的超市历年数据可视化分析

包含:Order_Date Sales Quantity Profit year month。所有这些物品都在美国4个地区的49个州销售,来着793位客户的5009个订单。9994行,21列数据。

m0_74872863的博客 534

自回归分布滞后模型 (ARDL)及 Stata 具体操作步骤

例如,Bahmani-Oskooee 和 Brooks(1999)研究了汇率波动与贸易收支之间的关系,发现汇率的变动在长期和短期内对贸易收支的影响存在差异,ARDL 模型能够有效地捕捉这种复杂的关系。它结合了自回归(Autoregressive,AR)模型和分布滞后(Distributed Lag,DL)模型的特点,能够同时考察变量之间的短期和长期关系。假设我们收集了一段时间内的居民消费和可支配收入数据,通过对这些数据进行分析和估计,可以得到模型的参数估计值,从而揭示消费与收入之间的短期和长期关系。

a519573917的博客 6093

原来java里方法如此简单

循环嵌套 for(条件初始化;条件判断;条件变化){ //代码 for(条件初始化;条件判断;条件变化){ //代码 } //代码 } 方法 实现具体功能的代码段 使用方法好处 提高代码的复用性 语法 有返回值类型的方法 修饰符 返回值类型 方法名([参数列表]){ 具有某些功能的代码块; return 返回值; } 修饰符:访问权限修饰符,publ...

weixin_45116982的博客 108

K8S证书过期解决办法之替换证书

k8s证书过期解决方案之替换证书

q_hsolucky的博客 1万+

java 方法 类 封装 简单实战

定义一个员工的基本信息类 编号 姓名 职位 薪资 class Staff { private int num ; private String name ; private String position ; private double salary ; // 保留一个无参数构造方法 publi...

誓言 695

CPG控制网络入门

从线性变换开始推导

妖米的博客 5043

16、天文时间序列分类:基于人工神经网络的研究

本研究探讨了基于人工神经网络的天文时间序列分类方法,重点比较了MLP、LSTM和CNN等模型在BRITE和开普勒K2数据集上的表现。研究发现LSTM不适用于此类数据,而结合特征提取与PSO超参数优化的多层感知器(MLP)在开普勒K2数据上实现了98.55%的二分类准确率。通过精细的数据预处理和高置信度样本选择,显著提升了分类性能。研究成果为恒星变异性识别提供了高效工具,并对天文学与机器学习交叉领域具有重要参考价值。

pz8901234的博客 112

java通过调用方法实现简单计算器

通过方法的调用,实现简单的计算器功能

qq_43696790的博客 1109

大厂面试级C#上位机完整项目(终极版):工业级Modbus协议封装 + 标准多线程采集 + 全链路异常处理

(Modbus统一通信接口)、(采集服务接口)职责:定义所有核心操作的标准接口,屏蔽底层差异(RTU/TCP、串口/TCP),面向接口编程的核心体现。新增协议/采集方式,只需实现接口,核心代码零改动。/// 自定义Modbus通信异常类 - 大厂标准,区分通信异常和其他异常/// 包含异常信息+内部异常,可溯源完整错误堆栈,面试必写本次项目是对标大厂工控上位机岗位的终极版实战项目,所有代码、架构、设计都遵循大厂标准,覆盖了面试官考察的所有核心考点✅ 纯手写Modbus协议,体现你对协议底层的吃透。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 857

Java 简单的新增方法

开发工具与关键技术: MyEclipse Java 撰写时间:2020、12、10 新增,在开发中也是经常需要写的一个方法,我们知道多表新增比单表要难,但数据库表多不一定新增复杂,而表多关系复杂那新增就复杂,所以新增方法的难易程度取决于数据库表关系的复杂度,单表新增是新增的基础。 Java的新增其实跟其他语言的新增方法差不多,只是Java是封装思想,所以要将方法封装起来,只对外提供接口调用就可以了,我们说一下简单的单表新增。 首先准备一张数据库表,如下图所示, jsp页面就说了,然后写daoimpl层

weixin_44551879的博客 1658

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java 简单方法

import java.util.Scanner; public class Test { public static void main(String[] args) { System.out.println(Test.sumInt(1,2)); } public static int sumInt(int a,int b){ return a+b; } }

qq_45858803的博客 89

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

java 线程方法join的简单总结

java 线程方法join的简单总结(转)

Wutitaxue的博客 116

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

java 工厂方法模式 简单工厂_工厂方法模式Java

简单工厂模式有个比较明显的弊端:工厂类集中了所有实例的创建逻辑,明显违背开闭原则。基于前面介绍的简单工厂模式Java,我们来看如何通过Java语言实现工厂方法模式。工厂方法模式则是对该问题的进一步延伸解决,差异就是将原先存在于一个工厂类中的逻辑抽调出来,创建一个接口和多个工厂类。这样,一旦功能有新增,比如说我们要加一个 “发送导弹” 的功能,只需要加一个 “导弹发送工厂类”,该类实现 produc...

weixin_39837207的博客 102

Java设计模式:工厂模式之简单工厂、工厂方法、抽象工厂(三)

在软件设计中,工厂模式是一种常见的设计模式,它提供了一种创建对象的最佳方式。通过工厂模式,我们可以将对象的创建逻辑与使用逻辑分离,降低代码的耦合度,提高系统的可扩展性和可维护性。Java作为一种面向对象的编程语言,自然也支持工厂模式的实现。接下来,我们将详细介绍Java中工厂模式的多种实现方式。

码到三十五 6020

【JAVA-Day17】用最简单的方法,实现 Java 的堆栈

作为一位充满激情的Java技术博主,我将带你深入探讨如何用最简单的方法实现Java的堆栈数据结构。在本文中,我将详细介绍如何实现Java的堆和栈,以及它们之间的区别和联系。无论你是初学者还是有一定经验的开发者,都将从本文中获得有价值的信息。让我们一起来深入研究如何构建Java堆栈,为你的编程技能增添新的层次。在本文中,我们详细探讨了如何用最简单的方法实现Java的堆和栈数据结构。我们介绍了堆和栈的基本概念,并提供了简单的实现示例。我们还比较了堆和栈之间的区别和联系,以及它们与其他数据结构的优劣势。

沉淀所学,分享所思,让热爱与成长同行。商务记录AI实战经验,助力开发者快速成长。 热爱AI,希望做出有影响力的技术成果。 技术点亮生活,分享连接价值与机会。 专注AI落地实战,陪你走好技术每一步。 6367

简单Java代码编写、case穿透及简单方法引用

然后在包package com.practice.main中的Main类中引入了com.practice.metho包中的PracticeThree类。当day的值为3、4或5时,会执行相同的代码块,并输出"星期三"、“星期四”、“星期五”,而day的值为1或2时,会输出"星期一"或"星期二",day的值为6或7时同理。这种情况下就发生了switch语句的穿透现象。通过在Main类中引入com.practice.metho包中的PracticeThree类,我们可以在不同包中使用其他包中的类和方法。

2301_80365627的博客 420

简单计算器java项目案例_Java构造方法案例之简单计算器

前言在长篇浮谈之前,我们先来了解一下什么是构造方法(函数):构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。构造函数在PHP里面是__construct,在Java里面构造函数与类同名,但是没有返回值,所以也就不...

weixin_34768798的博客 260

Java方法的简单理解

1.简单方法定义例如:public static void menu ( ){ };public 访问权限 static 静态的 直接可以使用的类名调用void 表此方法没有返回值 menu 方法名​a:b;​在最外面定义变量 形式例如:static int i = 1;这样定义的变量在那个方法中都可以使用。

Dreamkidya的博客 409

java中的一些简单的方法

1、 用 类名. MIN_VALUE 、类名.MAX_VALUE 来获得基本类型的最大值,最小值;比如:float min = Float.MIN_VALUE; 2. 用 类名.toBinaryString(),可以把数字以二进制的形式显示出来比如:int i = 0x2f;        String s = Integer.toBinaryString(i);        S

cici_yoyo的专栏 446

java中判断后缀最简单方法

String fileName = file.getName().toLowerCase(); if (fileName.endsWith(".stl") || fileName.endsWith(".obj") || fileName.endsWith(".3ds")) { }

bobo的博客 2325

简单的java方法_Java简单实用方法一

整理以前的笔记,在学习Java时候,经常会用到一些方法。虽然简单但是经常使用。因此做成笔记,方便以后查阅这篇博文先说明构造和使用这些方法。1,判断String类型数据是否为空String类型的数据为空,主要为等于null或”“那么只要判断属于这两种之一就行了注: null==data||”“.equals(data) 写法防止空指针public static boolean isNull(Stri...

weixin_33994823的博客 304

java编写简单的计算器 构造方法

题目: 构造方法 编写Java程序模拟简单的计算器。定义名为Number的类其中有两个整型数据成员n1和n2应声明为私有。编写构造方法赋予n1和n2初始值再为该类定义加addition、减subtration、乘multiplication、除division等公有成员方法分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number类的对象调用各个方法并显示计算结果。 算法分析: 1、首先定义成员变量,为private。 2、实现构造方法,用快捷键即可,但还是亲手敲一遍比较好。 3、生成g

Chaoge的博客 1877
上一篇: Java中测试程序运行时间
下一篇: Java类的设计原则
CrazyJMonkey
博客等级 码龄14年 7粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值