Java基础--面向对象(1)

25 阅读1分钟

1.方法的重载

  • 平常练习的时候可能会遇到方法名不好定义,定义之后想不起来我定义了哪些方法,导致调用方法非常困难;
  • 而方法的重载就很好的规避了这个问题:
  • Java规定,同种用途的方法名可以是一样的,这样会有效的解决上述问题.
  • 区分这些方法:通过形参的不同,如下图:

image.png

  • 简单理解:同一个类,方法名相同,形参不同,无需看返回值

image.png class B 错误的原因就是不看返回值,方法名相同参数相同那他们就是同一个方法!

- tips:方法的重载一般不会写成顺序不同的方式:

image.png

  • 为什么这里调用会报错呢?
  • 虽然Java中有隐式类型转换,但是这边示例有两种转换方式,这时候编辑器就会很懵逼,他不知道转换哪个方法,无法匹配,一旦注释掉红框其中一个,代码报错就会消失,关键还是一一对应;

2.Java中的内存分配

  1. 栈内存:方法调用进栈执行,执行完出栈(方法).
  2. 堆内存:存储对象,数组,字符串常量池(new关键字-并产生地址)
  3. 方法区:字节码信息(.class文件运行前先加载到~临时存储)
  4. 本地方法栈:调用本地Native方法
  5. 程序计数器:当前代码执行到了第几行(行号)

image.png

  • 基本数据类型:存的自己的钱,花的是自己的钱(存着实际的值)
  • 引用数据类型:存的是好基友的家庭住址,花钱去好基友家用钱(存的是地址)