Java基础比较重要---面向对象
Java基础比较重—面向对象
面向过程:当需要实现一个功能的时候,每一个步骤都需要亲力亲为,详细处理每一个细节。(更加看重过程)
面向对象:当需要实现一个功能的时候,不关心具体步骤,而是找到一个具有该功能的人,来帮我做事
类是对一类事物的描述,是抽象的
对象是一类事物的实例,是具体的
类是对象的模板,对象是类的实体。
Java类中包含成员变量和成员方法
注意事项
1.成员变量是直接定义在类当中的,在方法外边
2.成员方法不要写static关键字
通常情况下一个类不能直接使用,需要根据类创建一个对象,才能使用。
如何创建一个对象:
1.导包:指出需要使用的类在什么位置(格式:import 包名称.类名称;)对于和当前类属于同一个包的情况,可以省略导包语句不写
2.创建:格式:类名称 对象名 = new 类名称();
3.使用:分为两种情况
—1.如何使用成员变量:对象名.成员对象名
—2.如何使用成员方法:对象名.成员方法名(参数)
(想用谁就用对象名点谁)
注意事项
如果成员变量没有进行赋值,将会有个默认值,规则和数组一样
一个对象的内存图
成员方法是有地址值的,堆当中存的成员方法存的是一个地址值,指向了方法区
当一个对象作为参数传递到方法中时,实际上传递进去的是对象的地址值
当时用一个对象作为一个返回值的时候,返回值就是对象的地址值,
局部变量和成员变量 有啥不一样
1.定义位置不同
—1.局部变量定义在方法内部
—2.成员变量定义在方法外部,直接写在类当中
2.作用范围不一样
—1.局部变量只有方法当中才可以使用,出了方法就不能再用了
—2.成员变量定义在类当中,整个类都可以通用
3.默认值不一样
—1.局部变量没有默认值,要是想使用,就需要手动赋值
—2.成员变量如果没有赋值,会有默认值,规则和数组一样
方法的参数也是局部变量,参数在方法调用的时候,必然会被赋值
4.内存的位置不一样
—1.局部变量肯定跟着方法走,于是位于栈内存
—2.成员变量是new对象的时候就存在了,所以位于堆内存。
5.生命周期不一样
—1.局部变量随着方法进栈诞生,随着方法出栈消失
—2.成员变量随着对象创建而诞生,随着对象被垃圾回收而消失