java类和对象基础(函数重载,实例变量静态变量区别,对象大小,java内存运行机制,类初始化顺序)

这个地方的面试点有:

在这里插入图片描述
函数方法重载:
1)同一个类中(作用域相同)
2)函数名相同
3)参数列表不同
this:1)指明当前对象:this name = name;
2)this():-> 调用当前类的构造函数
注意:构造函数之间不能相互调用
this()必须为于当前构造函数有效代码第一行。

在这里插入图片描述

实例变量和静态变量的区别

  1. 存储位置不同 实例变量:Java堆 静态变量:方法区
    2)实例变量:跟对象有关,一个对象一份实例变量。(ps:对实例变量进行调2用时,只会对这个对象的实例变量有影响)
    静态变量:和对象无关,一个类一份实例变量。
    在这里插入图片描述

对象大小对象大小

java内存测试方法:

.java cmd javac编译器 .class字节码文件 jps
jmap -histo:live 9696
在这里插入图片描述

一段关于类和对象的基础代码

private类里面可以调用,外面的类不可以。

People.java
public class People {
    
    
    private String name;//实例变量
    private int age;实例变量
    private static int count;//静态变量
    public People(String name, int age) {
    
    
        this.name = name;
        this.age = age
    }

    public String getName() {
    
    
        return this.name;
    }


    public static void main(String[] args) {
    
    
        People p = new People("zc", 5)
    }
}

java内存运行机制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
静态方法中调用实例方法不能直接调,需要在静态中实例化一个对象,用对象点的方法去调用。

类初始化顺序:

1.静态变量

2.静态块

3.实例变量

4.实例块

5.构造函数

猜你喜欢

转载自blog.csdn.net/weixin_47198561/article/details/108739669