Java新手:成员变量与局部变量的区别,重载和重写的区别

成员变量与局部变量的区别:
  1. 在类中的位置不同:
    成员变量是属于类的,是在类中并且在方法外,可以被public、private、static等修饰符所修饰。
    局部变量是在方法中定义的变量或是方法中的参数(形参),局部变量不能被访问控制修饰符及static所修饰。
    成员变量和局部变量都能被final所修饰。
  2. 在内存中位置不同:
    成员变量是对象的一部分,对象存在于堆内存中,而局部变量是存在于栈内存中。
  3. 生命周期不同:
    因为成员变量是对象的一部分,它随着对象的创建而存在,随着对象的消失而消失。
    局部变量是随着方法的调用而存在,随着方法的调用完毕而自动消失。
  4. 初始化值的问题:
    成员变量如果没有赋初始化值,会自动以类型的默认值而赋值(一种情况例外,被final修饰但没有被static修饰的成员变量必须显示的赋值)。
    局部变量没有默认值,不会主动赋值,必须先定义赋值,然后使用。
重载和重写的区别:

1.重载:指在一个类中出现了方法名相同的情况。
发生在同一个类中,方法名必须相同,参数类型、个数、顺序、方法返回值以及访问修饰符可以不同,发生在编译时。
注意:在调用方法时,JVM会通过参数列表不同来区分同名的方法。
2.重写:
发生在父子类中,方法名、参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类,如果父类方法访问修饰符为private,则子类就不能重写该方法。

最近在看Java基础,今后会一点一点总结出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值