java基础day6笔记

调用对象使用方法和变量内存过程:

  • 首先,在方法区有demo类中main方法的信息,有实体类中各变量和方法的信息。
  • 栈是方法运行的区域,首先为main开辟空间运行,调用了实体类对象,在堆中创建,堆中有各成员变量,其中
  • 创建对象方法时,去要去引用方法区之前有的。(创建实例或者实例的变量在堆就可以,创建实例方法还要引用方法区)
  • 调用实例方法,该方法入栈,main在最下面,为该方法开辟空间运行,结束后,出栈,main又在最上面了
  • 执行main,main执行完毕,出栈。

成员变量和局部变量区别
成员变量是依附对象的,局部变量是在方法中的
1.位置不一样
2.作用域不一样:局部变量只有方法中可以用
3.局部变量必须要赋值,成员变量不赋值,有默认值,和动态数组默认值一样:0,0.0,false,null等
4.局部变量在栈中,栈里是方法运行的地方;成员变量在堆中,堆里有这个类的实例,实例自然包含成员变量
5.局部变量随着方法出栈而消失,成员变量随着对象被垃圾回收而消失。生命周期。

private:用来保护成员变量不被外界随意访问修改。只能在类内部用private
用setter和getter方法,注意:命名必须是setXXX.getXXX,作用在于在set中可以设置条件。
注意:若成员变量是boolean类型,则get方法不写get,写is。

this用来区分成员变量和局部变量同名情况,因为同名就近原则都会用的是局部变量,成员变量要用this修饰
通过(对象)谁调用的方法,谁就是this

构造方法
无参构造编译器会送一个,也就是生成.class时,不写也会自动有,但你写了有参后,就不会再自动有。
构造方法是用来创建对象的,顺带把对象的成员变量进行了赋值,不能代替set
因为构造方法是通过new来调用的,set是通过某个对象实例来调用的
构造方法只会创建一个对象并赋值成员变量,不能再改,因为没办法再调用该对象,只能用new调用
同时不能直接调用成员变量去改,要加改的范围限制,private成员变量,用set方法。

快捷键自动生成,alt+insert

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值