首页 > 编程语言 >Java - 12 方法

Java - 12 方法

时间:2024-10-06 15:45:23浏览次数:1  
标签:12 Java 形参 int void class 方法 public

Java - 12 方法

public class main{
	public static void main(String[] args){
        Person pers = new Person();
        pers.speak();
        pers.cal(100);
        int returnRes = pers.getSum(2, 3);
	}
}

class Person{
    String name;
    int age;
    
    public void speak(){ // public: 方法公开
        System.out.println("I am");
    }
    public void cal(int n){ // 形参
		int res = 0;
        for(int i = 1; i<= n; i++){
			res += i;
        }
        System.out.println(res);
    }
    public int getSum(int num1, int num2){
        int res = num1 + num2;
        return res; // 返回值 int
    }
}

内存

  • 当程序执行到方法时就会开辟一个独立的空间(栈空间),执行完毕后释放栈空间

  • 当main方法(栈)执行完毕,整个程序退出

方法的用处

  • 提高代码复用性

  • 将实现的细节封装,供其他用户调用

方法使用细节

  1. 一个方法最多只能有一个返回值(返回多个数据:使用数组)
public int[] getSumAndSub(int n1, int n2){
	int[] resArr = new int[2];
    resArr[0] = n1 + n2;
    resArr[1] = n1 - n2;
    return resArr;
}
  1. 如果方法是vvoid,没有return语句,或者只写return
  2. 方法的调用
  • 同一个类直接调用
class A{
    public void print(int n){
		System.out.println("Hello, "n);
    }
    publiv void sayOk(){
		print(10); // *
    }
}
  • 跨类的方法调用需要通过对象名
class A{
    public void print(int n){
		System.out.println("Hello, "n);
    }
    public void sayOk(){
		print(10);
    }
    // *
    public void useB(){
		B b = new B();
        b.Hi();
    }
}

class B{
	public void Hi(){
		System.out.println("Hello?");
    }
}

方法传参机制

基本数据类型产地的是值(值拷贝),形参的任何改变不影响实参

引用类型传递的是地址(也是值但值是地址),可以通过形参影响实参

通过hashcode看是否是同一对象

方法的编写思路

  1. 方法的返回类型
  2. 方法的名字
  3. 方法的形参
  4. 方法体

标签:12,Java,形参,int,void,class,方法,public
From: https://www.cnblogs.com/wxrwajiez/p/18449103

相关文章

  • Java - 14 方法重载
    Java-14方法重载+可变参数方法重载Java允许同一个类中,多个同名方法存在,但要求形参列表不一致(类型,顺序),返回类型没有要求publicclassOverload{ publicstaticvoidmain(String[]args){ MyCalculatorm=newMyCalculator(); System.out.println(m.calculate(1,2));......
  • Java - 13 方法的递归
    Java-13方法的递归递归必须向退出递归的条件逼近斐波那契数列当n=1,1当n=2,1当n>=3,是前两个数的和publicclassRecursion{ publicstaticvoidmain(String[]args){ Fbnqf=newFbnq(); intn=7; intres=f.num(n); if(res!=-1) System.out.p......
  • Java - 15 作用域
    Java-15作用域classCat{ intage=1;//全局变量(属性),作用域是整个cat类{intnum=100;//代码块中-局部变量}publicvoidsay(){ Stringgreet="hello";//局部变量(除了属性之外就是局部变量),只能在say方法中使用System.out.p......
  • Java - 3 运算符
    Java-3运算符算术运算符/*++a:先运算后取值a++:先取值后运算*/inti=1;i=i++;//(1)temp=i;(2)i=i+1;(3)i=temp;System.out.println(i);//1inti=1;i=++i;//(1)i=i+1;(2)temp=i;(3)i=temp;System.out.println(i);//2System.out.prin......
  • Java - 5 原码、反码、补码
    Java-5原码、反码、补码0表示正,1表示负整数的原码,反码,补码都一样负数的反码=原码符号位不变,其它位取反负数的补码=反码+10的反码,补码都是0Java中没有无符号数计算机运算时,以补码的方式运算看计算结果时,要看原码整数数据类型取值范围数据类型范围byt......
  • vue3 watch方法---监视基本类型数据
    watch 监听定义的数据发生改变的时候执行什么函数watch方法有两个参数watch(sum,箭头函数)这个箭头函数里面有两个参数(newValue,oldValue)=>{},如下代码<template><!--watch;监视数据变化vue3可以监视一下四种数据类型:ref定义的数据......
  • Java内存模型
    1.硬件的效率与一致性物理机遇到的并发问题与虚拟机中的情况有很多相似之处,物理机对并发的处理方案对虚拟机的实现也有相当大的参考意义。“让计算机并发执行若干个运算任务”与“更充分地利用计算机处理器的效能”之间的因果关系,看起来理所当然,实际上它们之间的关系并没有想象......
  • GESP等级考试 20241006_121124
    官网CCF-GESP编程能力等级认证https://gesp.ccf.org.cn/考钢图形化1579692243025952.pdfhttps://gesp.ccf.org.cn/101/attach/1579692243025952.pdf考钢C++1579675000242208.pdfhttps://gesp.ccf.org.cn/101/attach/1579675000242208.pdf考级相关真题解析-CCF-GESP编程......
  • 《软件需求管理 用例方法》读后感
    《软件需求管理用例方法》是一本深入探讨软件需求管理的经典之作。作者系统性地介绍了用例方法在软件需求获取、分析、规格化以及变更管理等方面的应用。我对书中强调用例模型的实用性以及如何有效地利用用例来捕捉用户需求的方法深感启发。特别是,书中对于用例图、用例规约和场景......
  • java性能调优记录
    五、设计模式调优单例模式最简单的单例模式及问题分析//懒汉模式publicfinalclassSingleton{privatestaticSingletoninstance=null;//不实例化privateSingleton(){if(instance!=null){thrownewRuntimeException("UsegetInstance()methodtoge......