首页 > 其他分享 >方法进阶使用

方法进阶使用

时间:2024-02-29 13:01:21浏览次数:32  
标签:String void name Person 使用 方法 变量 进阶

有时候我们的方法中可能会出现一些与成员变量重名的变量:

//我们希望使用这个方法,来为当前对象设定名字 void setName(String name) { }

此时类中定义的变量名称也是name,那么我们是否可以这样编写呢:

void setName(String name) { name = name; //出现重名时,优先使用作用域最接近的,这里实际上是将方法参数的局部变量name赋值为本身 }

我们来测试一下:

public static void main(String[] args) { Person p = new Person(); p.setName("小明"); System.out.println(p.name); }

我们发现,似乎这样做并没有任何的效果,name依然是没有修改的状态。那么当出现重名的时候,因为默认情况下会优先使用作用域最近的变量,我们怎么才能表示要使用的变量是类的成员变量呢?

Person p = new Person(); p.name = "小明"; //我们之前在外面使用时,可以直接通过对象.属性的形式访问到

同样的,我们如果想要在方法中访问到当前对象的属性,那么可以使用this关键字,来明确表示当前类的示例对象本身:

void setName(String name) { this.name = name; //让当前对象的name变量值等于参数传入的值 }

这样就可以修改成功了,当然,如果方法内没有变量出现重名的情况,那么默认情况下可以不使用this关键字来明确表示当前对象:

String getName() { return name; //这里没有使用this,但是当前作用域下只有对象属性的name变量,所以说直接就使用了 }

我们接着来看方法的重载。

有些时候,参数类型可能会多种多样,我们的方法需要能够同时应对多种情况:

int sum(int a, int b){ return a + b; } public static void main(String[] args) { Person p = new Person(); System.out.println(p.sum(10, 20)); //这里可以正常计算两个整数的和 }

标签:String,void,name,Person,使用,方法,变量,进阶
From: https://www.cnblogs.com/258-333/p/18043393

相关文章

  • 对象的使用
    既然现在我们知道如何创建对象,那么我们怎么去访问这个对象呢,比如我现在想要去查看或是修改它的名字。我们同样可以使用一个变量来指代某个对象,只不过引用类型的变量,存储的是对象的引用,而不是对象本身:publicstaticvoidmain(String[]args){//这里的a存放的是具体的某个值......
  • 解析HTTP错误码400 Bad Request及其常见原因与解决方法
    解析HTTP错误码400BadRequest及其常见原因与解决方法1.引言在进行web开发过程中,我们经常会遇到各种HTTP错误码。HTTP错误码用于表示服务器对请求的响应状态,帮助我们定位和解决问题。本文将重点解析HTTP错误码400BadRequest,探讨其常见原因和解决方法。HTTP错误码的作用和分类......
  • 《系统科学方法概论》第二章
    在阅读了第二章后,我知道了工程一词的来源(产自古代)以及系统工程与常规工程相比具有的基本特征。系统工程与常规工程相比,具有复杂程度高、有一个目标体系、具有定量化特征、最优化特征、程序化特征、应用范围广等基本特征。系统工程由古代发展到现代:战国时期李冰父子主持修建的都江......
  • 《系统科学方法概论》第三章
    在读了第三章之后,我知道了通信方式的由来。古代由于通信不方便,于是先产生了有声语言,接着因为距离的问题产生了文字,用文字来互相传递书信,后来还发明了用光信号来通信,但是慢慢已经满读不了需求,于是各种缺点慢慢显现出来,最终产生了近代通信技术——有线电通信,以及后来的无线电通信。......
  • 《系统科学方法概论》第一章
    这一章详细阐述了系统思想的发展史,系统的概念,内部关系,规律,方法,为我们打开了一个全新的视角,让我们对系统科学有了更深入的理解。首先,我被书中对系统科学的定义和范围的阐述所吸引。系统科学不仅是对单个系统的研究,更是对各种不同层次、不同类型的系统的研究。这种跨学科的研究方法......
  • 使用Navicat for MySQL远程访问MySql8.0的问题。
    首先我们进入mysql,查看mysql中所有用户权限usemysql;selectuser,hostfromuser;我们发现host默认都是localhost访问权限我们要修改root的远程访问权限updateusersethost='%'whereuser='root';再次执行selectuser,hostfromuser;说明我们已经修改成功了。允许......
  • 《系统科学方法概论》第四章读后感
    阅读完《系统科学方法概论》的第四章,我深感启发。这一章主要介绍了系统分析的方法,包括系统结构、系统行为以及系统环境等方面的内容。通过学习,我对系统分析的基本概念和方法有了更深入的理解,也对如何运用这些方法解决实际问题有了更清晰的思路。首先,我认识到系统分析是研究系统的......
  • 如何使用 vscode 搭建 Django Restful API 开发环境 All In One
    如何使用vscode搭建DjangoRestfulAPI开发环境AllInOnevscode+Django(Python)demos(......
  • 系统科学方法概论第五章读后感
    阅读完《系统科学方法》概论最后一章自组织系统方法后对系统科学有一定的认识和了解其中,从第五节自组织系统方法概述中了解到,自组织系统理论的创立无论对社会生产活动,还是对社会关系活动以及科学实验活动,均具体重要方法论意义,但由于该理论目前仍处于发展阶段,价值内容的艰深,至今未......
  • 系统科学方法论第四章
    1经典控制论阶段维,纳控制论属于经典控制论,它主要研究的是单因素控制系统或时不变系统,其核心是各种自动调节器、伺服系统与有关电子设备,在实践方面主要用于单机自动化。2现代控制论阶段,现代控制论主要研究的是多因素控制系统或时变系统,重点是最优控制,其核心是电了计算机,在实践方面,......