一、方法的调用

1、main方法可以调用其他方法
2、其他方法可以调用main方法
3、其他方法之间可以相互调用
4、两个方法之间会出现栈内存溢出

 

二、局部变量和成员变量

成员变量=全局变量

局部变量在方法体中,成员变量是在类体中
作用域不同:局部变量的作用域是在离他最近的{}里,成员变量是在整个类中
初始值不同:局部变量必须初始化才能使用,成员变量系统会有默认值

java学习day09---(方法变量和面向对象概念)_面向过程

 

 

 

因为main方法被static修饰,被static修饰的方法只能调用被static修饰的变量和方法,所以成员变量想要在main方法
中被调用,必须在前面加static

成员变量各类型的系统默认值:
int 0; double 0.0; String null;boolean false;char '\u0000'

三、方法的栈内存

java中所有方法都需要进入栈内存中运行
栈的设计结构:先入后出
递归:方法自己调用自己(需要考虑栈的大小)
理解递归可以画图,方法是如何进出栈的
项目中的菜单树都是用递归循环出来的

java学习day09---(方法变量和面向对象概念)_面向过程_02

 

 

 

四、方法的重载


同一个方法名可以设置不同的参数,写成多个相同名字但参数不同的方法,系统会根据输入参数的不同自动匹配方法。
触发条件:1、参数类型不同 2、参数个数不同 3、参数顺序不同
注意:跟有没有返回值没有关系
用处不大,因为方法体内的代码会根据不同的参数而有差别,实际上不是代码的重复使用,只是方便程序员不用起这么
多方法名。因此,能用则用,不用也行。
重载:overload 重写: overwrite


五、面向对象


面向对象三大特征:封装、继承、多态
面向过程与面向对象的区别?
面向过程:做一件事,关注的重点是先后的步骤,一步一步来
面向对象:做一件事,关注点是谁来做?
面向对象依赖面向过程,面向对象是建立在面向过程之上的,思想要高于面向过程,面向过程更难


因此:机器语言(0和1)--汇编语言--c语言--c++语言--java 是越来越简单好用的,更容易让程序员编写和维护,但
运行效率也是越来越低的

六、类和对象

对象:万物皆对象,对象都是具体的唯一的
类:大量对象的共性的抽象
类和对象的关系:类是对象创建的模板

面向对象把类根成2个类:
1、模板类:没有main方法,只是为了创建对象
2、测试类:有main方法

类=成员变量+成员方法