Java--类和对象中的一些问题

       前言

        好像要变秃了呢!


目录

       this引用

       构造方法

       拓展


       this引用

        在Java中,this是一个特殊的关键字,它用于引用当前对象。在一个类的实例方法中,this关键字可以用来引用当前正在使用该方法的对象

        Java中引入this关键字有以下几个主要原因:

        1. 消除歧义:在一个类中,如果有局部变量和实例变量同名,使用this关键字可以明确指定要使用的是实例变量而不是局部变量。

        2. 在构造方法中调用其他构造方法:在一个类中可以定义多个构造方法,使用this关键字可以在一个构造方法中调用同一个类的其他构造方法。这样可以避免代码重复,提高代码的复用性。

        3. 作为返回值:在某些情况下,需要在方法中返回当前对象本身。使用this关键字可以方便地返回当前对象的引用。

        4. 作为方法参数:有时候需要将当前对象作为参数传递给其他方法。使用this关键字可以将当前对象作为参数传递给其他方法。

        总而言之,this关键字主要用于引用当前对象,可以用来消除歧义、调用其他构造方法、返回当前对象以及作为方法参数传递。它提供了一种简洁、明确的方式来处理与当前对象相关的操作。

         注意:

                1,this的类型:对应类类型引用,即那个对象调用就是那个对象的引用类型;

                2,this只能在“成员方法”中使用;

                3,在“成员方法”中,this只能引用当前对象,不能再引用其他对象;

                4,this是“成员方法”第一个隐藏的参数,编译器会自动传递;            

        this作为参数有什么用?

        答:this作为参数可以用于在函数内部引用当前对象或函数。在面向对象的编程中,this关键字指向当前正在调用方法的对象。通过将this作为参数传递给其他方法,可以在方法内部访问该对象的属性和方法。这在需要在不同方法之间共享对象状态或者在嵌套函数中使用外部函数的上下文时非常有用。


       构造方法

        特性:

        1,在方法中若不写构造方法,编译器会自动提供一个不带参数的构造方法,若是程序员编写了构造方法,那编译器就不再提供;

        2,构造方法名字必须与类名相同;

        3,构造方法没有返回值类型,也不能写void;

        4,创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次

        5,构造方法可以重载(可以根据自己的业务需求来设置不同参数的构造方法)

        6,若要实现在构造方法中使用this来调用其他的构造方法,需要将this()放在该方法中的第一行,否则会编译失败;但是不能使用this()在构造方法中形成环状调用


       拓展

        为什么成员变量不需要初始化就可以使用,而局部变量就必须要初始化呢?

        答:成员变量和局部变量在编程语言中的作用和生命周期不同,所以它们的初始化要求也不同。

        成员变量是定义在类中的变量,它们的生命周期与对象的生命周期一致。当创建一个对象时,成员变量会在内存中分配空间,并根据其类型的默认值进行初始化。如果你没有显式地给成员变量赋值,它们将使用默认值。

        而局部变量是在方法、函数或代码块中声明的变量,它们的生命周期仅限于所在的作用域内。局部变量必须在使用之前进行初始化,因为编译器无法确定它们是否被赋值了合理的值。这是为了确保程序的安全性和准确性,避免使用未经初始化的变量导致错误的结果。

        总结起来,成员变量的初始化是由编译器自动完成的,而局部变量需要程序员手动初始化以确保其值的有效性。


        我是专注学习的章鱼哥~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值