【java日记1】

java中的内存调用

image-20191118122841626

一个数组的内存图

image-20191118122402481

两个数组的内存图(独立)

image-20191118122511960

两个数组的内存图(间接)

image-20191118122758288

一个对象的内存图(注意栈方法的先进后出顺序)

image-20191118185428904

两个对象的内存图(独立)

image-20191118185616972

两个对象的内存图(间接)

image-20191118185815835

对象参数调用内存图

image-20191118190255534

使用对象作为方法的返回值内存图

image-20191118190558276

java面向对象中封装性的使用,在Setter和Getter的使用中,如果成员变量是boolean型,那么Getter命名规则应为isXXX,例如

public class Student {
    private String name;
    private boolean male;  // 性别是否为男性
    
    public void setName(String name) {
       this.name = name;
    }
    
    public String getName() {
        return this.name;
    }
    
    public void setMale(boolean male) {
        this.male = male;
    }
    
    public boolean isMale() {  // 注意命名规则的变化
        return this.male;
    }
}

匿名对象

对于一个只使用一次的对象,可以不使用显式的对象来进行操作,例如

new Student().name = "张三";  // 如果Student()对象在程序中只会使用这么一次,那么可以使用匿名对象

调用静态变量的内存图

静态变量的使用跟对象无关

image-20191118201105444