当前位置: 首页 > news >正文

Day19回顾方法的调用

静态方法与非静态方法之间是无法调用的

package oop;public class Demo2 {public static void main(String[] args) {Student.say();//静态方法可以直接通过类名加方法去调用//Student.say2();   非静态方法无法直接调用,需要实例化//实例化这个类(new)//对象类型  对象名 =  对象值Student student = new Student();student.say2();}//和类一起加载的,属于类的范畴public void a() {b();}//非静态变量实例化之后才存在,无法被静态变量调用public void b() {}public static void c() {// b();  无法调用b()}
}

形式参数与实际参数

package oop;public class Demo3 {public static void main(String[] args) {//实际参数与形式参数的类型要对应int add = Demo3.add(2,4);//返回值为int,需要itn add这个变量来接收System.out.println(add);}public static int add(int a,int b){return a+b;}
}

java中的值传递与引用传递,本质上都是值传递,在java中两者的主要区别在于他们都是值传递,但是由于数据类型的不同会导致传递之后的结果是否会改变,例如当传递基本数据类型时(int char boolean),修改副本不会影响原变量,即调用方法是不会改变原来变量的值,当传递引用数据时(类对象 数组 集合),由于其传递的是对象地址的副本,通过副本地址对象内部内容,但是如果单纯修改副本地址则不会对原变量造成影响
总结:所用数据类型都遵循值传递,,只是不同的数据类型导致其值传递的表现不同,本段第一句的值传递与引用传递实际是以这种传递后表现的不同做的区分

package oop;
//值传递
public class Demo4 {public static void main(String[] args) {int a = 1;System.out.println(a);Demo4.change(a);//返回值为空,无需像Demo3那样调用方法时创建一个变量来接受System.out.println(a);//1}//返回值为空public static void change(int a){a = 10;}
}
package oop;
//引用传递:对象,本质还是值传递
public class Demo5 {public static void main(String[] args) {Person person = new Person();System.out.println(person.name);//nullDemo5.change(person);System.out.println(person.name);//鹤望兰}public static void change(Person  person ){//person是一个对象,指向的是---->Person person = new Person();具体的人,可以改变属性person.name = "鹤望兰";}
}
//定义一个Person类,有一个name属性
class Person{String name;//默认值为null
}

以上时java中值传递不同数据类型在传递时的不同表现,且大部分的引用类型需要通过new来创建对象

http://www.hskmm.com/?act=detail&tid=12969

相关文章:

  • 「微积分 A1」极限与连续函数
  • PHP OOP 面向对象进阶 27 个问题让你充分了解对象特性
  • 202312_DASCTF_蚁剑流量
  • 网页开发入门:CSS与JS基础及BS/CS架构解析 - 实践
  • 实用指南:Vue开发准备
  • AppSpider 7.5.020 for Windows - Web 应用程序安全测试
  • 上周热点回顾(9.15
  • “学术造神”何时休?
  • python学习网站
  • vLLM 核心机密:大模型推理引擎内部长啥样?
  • 华为销量下滑OV米荣迎来窗口期
  • 【GitHub每日速递 250922】开源 AI 搜索引擎 Perplexica:本地大模型 + 多模式搜索,免费又强大!
  • coze工作流实战——三分钟读一本名著
  • 大厂是怎么识别“高潜员工”的?
  • 读人形机器人19后劳动经济
  • 2025年最佳笔记本扩展坞评测:一站式提升工作站效率
  • 论文查重项目
  • 我的第一个程序Hello,World!成功运行!
  • Day05-1-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\David\scanner-Demo01~05(简易计算器)
  • Day05-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\David\struct-ifDemo01~03+shunxuDemo
  • JS历理 优化login.js脚本2
  • Codeforces Round 1052 (Div. 2)
  • uboot启动流程
  • 内存泄漏
  • Context Engineering
  • ios在wifi模式下设置http代理
  • 面试官问:请画出 MySQL 架构图!这种变态问题都能问的出来
  • 基于协方差交叉(CI)的多传感器融合算法matlab仿真,对比单传感器和SCC融合
  • github/网盘/公众号信息收集
  • AtCoder Regular Contest 206 (Div. 2) 部分题解