荐 Java语言基础(1)
程序员文章站
2022-05-07 18:14:09
可变参数int…numbers 实际传的是个数组String name 要写在 int…numbers 前边,要看传的顺序Println和Printf输出结果相同,Printf读起来方便方法签名重载(overlord)方法名相同,方法签名不同栈帧(Frame)调用test1方法调用test2方法方法结束递归调用图中黑色文字在栈总是不存在的,为了清楚逻辑而写如不不存在这个则会......
1.可变参数
int…numbers 实际传的是个数组
String name 要写在 int…numbers 前边,要看传的顺序
2.Println和Printf
输出结果相同,Printf读起来方便
方法签名
3.重载(overlord)
方法名相同,方法签名不同
4.栈帧(Frame)
调用test1方法
调用test2方法
方法结束
5.递归调用
图中黑色文字在栈总是不存在的,为了清楚逻辑而写
如不不存在这个
则会
6.复杂对象的内存
7.对象数组的内存
8.Java程序的内存划分
PC寄存器:存储Java虚拟机正在进行执行的字节码指令的地址
Java虚拟机栈:存储栈帧
堆:存储GC(垃圾回收器)所管理的各种对象
方法区:存储每一个类的结构信息(比如字段和方法信息、构造方法和普通方法的字节码等)
本地方法栈:用来支持native方法的调用(比如C语言编写的方法)
9.构造方法
1.方法名必须和类名一样
2.没有返回值
3.可以重载
4.构造方法调用另一个构造方法的this必须要在第一行
5.细节:子类的构造方法必须先调用父类的构造方法,在执行自己的代码,调用父类的构造方法一般都是编译器默认在子类构造方法的第一行加上super();
10.this
this 的本质是一个隐藏的,最靠前的方法参数
11.super
12.重写(override)
注意:如果父类中定义了一个变量,在子类的内存中是存在这个变量的,如果这个变量是私有的,可以通过getter和setter方法来获取
13.访问控制(Access Control)
使用注意
- *类就是最外层的外部类
14.static
常用来修饰类的成员:成员变量、方法、嵌套类
15.静态导入
用到数学方法可以直接用,很方便
本文地址:https://blog.csdn.net/weixin_45916005/article/details/107135352