01、Java中的参数传递问题
一、内存空间
栈:先进后出。先进去的,后出来。
堆
方法区:存的是类和函数。其中每个类所包含的函数都有“标记”来对应
二、参数传递问题
基本类型:形式参数的改变对实际参数没有影响。
引用类型:形式参数的改变直接影响实际参数。
Java中只有值传递,引用类型传递的是地址值。
02、面向对象思想的概述及起源
面向对象和面向过程都是一种思想。
面向对象是基于面向过程的。
概述:
面向过程:面向过程是以函数为基础,完成各种操作;
面向对象:面向对象是以对象为基础,完成各种操作。
总结:
万物皆对象。(随着后边学习内容的加深,会慢理解这句话)
03、面向对象的思想特点
思想特点
A:是一种更符合人们思考习惯的思想。
B:可以将复杂的事情简单化。
C:将程序员从执行者转换成了指挥者。
04、类与对象的关系概述
一、开发的过程:其实就是不断的创建对象,使用对象,指挥对象做事情。
二、设计的过程:其实就是在管理和维护对象之间的关系。
三、概念性的问题
我们学习编程语言,其实就是为了把显示世界的事物通过程序语言给体现出来
Java中描述事物无非就是描述事物的属性和行为。
先来研究一下事物:
属性:外在特征
行为:能够做什么。
四、Java语言,最基本的单位是类,类就是用来体现事物的。
五、各学术语的概念
类:类是属性和行为的集合,是一个抽象的概念。
成员变量:其实也就是属性。
成员方法:其实也就是行为。
对象:就是类的具体的存在,体现。
05、如何定义一个学生类
1.学生事物
属性:姓名,年龄,性别。。
行为:学习,吃饭,睡觉。。。
2.把事物转换成Java中的类。
3.学生类
成员变量:定义在类中,方法外的变量。例如:姓名,年龄,性别
成员方法:就是函数。先把static去掉,其他不变,例如:吃饭的方法,睡觉的方法,学习的方法。
06、如何使用类中的内容
注意:
我们可以在一个Java文件中,写多个class文件。这个文件的名字必须和带有main方法的那个类一致。
如何使用类中的内容呢?
1、要想使用学生类的内容,就首先必须明确你用哪个学生使用的。
2、如何明确一个类的具体对象呢? 答:通过new造出来
3、格式:类名 变量名 = new 类名();
4、那么,如何使用这个类中的成员变量和方法呢?
答:必须通过对象调用。
格式
成员变量:对象名.成员变量。
成员方法:对象名.成员方法。
07、成员变量和局部变量的区别
A:定义位置区别
成员变量:再类中,方法外
局部变量:在方法中,或者方法的形式参数
B:初始化值的区别
成员变量:有默认初始化值
局部变量:没有默认初始化值,想先定义,赋值,才能使用
C:存储位置区别
成员变量:存储在堆中,随着对象的存在而存在,随着对象的消失而消失。
局部变量:存储在栈中。随着方法的调用而存在,随着方法调用完毕而消失。
08、匿名对象的概述和使用
匿名对象的概念:
就是没有名字的对象。
匿名对象的应用场景
A:当对对象方法仅调用一次的时候。
B:匿名对象可以作为实际参数进行传递。