面向过程:从无到有,所有的操作流程都得自己完成
面向对象:以对象为基准,任何属性和行为都是基于对象,所有的事情都是通过对象来完成
类与对象(类与实例)
类:具备共同属性和行为的一类事物, 是用class修饰的
注意:类是没有标准答案的
属性:代码里面就是全局变量
行为:代码里面就是方法
对象(实例):从类中抽取出来实实在在存在的个体,这个个体就叫做对象,并且,对象是类中定义的属性和行为的可执行者
获取对象:使用关键字new
类名 对象名 = new 类名();
内存分析
java里面: 堆内存,栈内存,方法区,本地方法区,寄存器
栈内存:方法的执行
堆内存:随着对象的创建而存在的内存区域,而这一块区域存放的是该类中的所有属性,每一个变量都有一个默认值,String的默认值为null,int的默认值为0,double的默认值为0.0,boolean的默认值为,char的默认值为'a'
1)只要遇到了new关键字,则说明会在堆内存中开辟一块空间,用于存放该类的属性
2)每当堆内存创建了一个空间之后,则系统会分配一个内存地址,而这个地址是十六进制数
3)并将这个地址值赋值给栈内存中的对象名
4)对象名和堆内存的空间地址,通过相同的地址值进行连接
值传递和引用传递
一定和参数有关
值传递:在参数的传递中,实参是一个准确的数值,则说明是值传递
当实际参数为一个准确的数值的时候,则表示为值传递,直接将该值赋值给值给形式参数(实参为字符串以及8种基本数据类型)
引用传递:在参数中,如果实参只是一个地址空间值,则说明是引用传递,引用传递一定是传递的地址,不能直接输出
当实际参数为一个地址值的时候,则表示为引用传递,传递给形式参数的不是实际值,而是带有值的引用地址(引用传递一般为实参为对象,数组)