Java基础笔记总结(3)-面向对象编程(成员与局部变量、匿名对象、this等)

面向对象:不断创建对象,使用对象并指挥其做不同的事情。

面向对象涉及就是管理和维护对象之间的关系

面向对象的三大特征:封装,继承,多态

类代表一组相关的属性和行为的集合,对象该类事物的具体体现

成员变量 事物的属性

成员方法 事物的行为

创建对象,调用属性并且赋值

一个对象的内存图 在内存中的方法区中,方法区就是代码仓库

1、编译文件存储在方法区中

2、调用主方法,主方法进栈

3、将类加载到内存方法区中

4、在main栈中创建对象,并且在堆中进行初始化,设置地址,堆中包含相关的属性

5、属性赋值修改堆中的对象

6、方法进栈,根据栈中地址去找堆中的对向值

两个对象内存过程

1、将编译文件加载到内存中

2、主方法进栈

3、在方法去中生成对象的字节码文件Car.class

4、栈中创建对象,堆中初始化,设置默认初始化值

5、属性赋值修改堆中对象值

6、方法进栈运行,运行完弹栈

如果没有任何引用指向该对象,该对象就会变成垃圾,Java中有完善的垃圾回收机制

----------------------------------------------------------------------------------------------

匿名对象的概述和应用

new 类名().方法()

匿名对象的应用场景,匿名对象只适合对方法的一次调用,若调用多次会产生多个对象,不如有名对象

匿名对象属性赋值没有任何意义,匿名对象可以当做参数传递

----------------------------------------------------------------------------------------------

成员变量和局部变量的区别

1、成员变量在类中方法外,局部变量在方法中定义或方法声明上

2、成员变量在堆内存,属于对象,局部变量在栈内存,属于方法

3、生命周期不同,成员变量随着对象的创建而存在,对象消失就消失,局部变量随方法调用而存在,随方法调用完毕而结束

4、成员变量有默认初始化值,而局部变量没有,必须定义

注意 局部变量和可以和成员变量同名,在方法中才去的是就近原则

基本数据类型变量:byte short int long boolean char double float

引用数据类型变量:类,接口,数组,枚举

------------------------------------------------

封装:隐藏实现细节,仅提供对外公共访问方式

private 是一个权限修饰符,仅可修饰成员变量和成员方法,被修饰的成员只能在本类中访问,设置set和get方法获取

关键字this 代表当前对象的引用,用于区分成员变量和局部变量

你可能感兴趣的:(Java基础笔记总结(3)-面向对象编程(成员与局部变量、匿名对象、this等))