这个地方的面试点有:
函数方法重载:
1)同一个类中(作用域相同)
2)函数名相同
3)参数列表不同
this:1)指明当前对象:this name = name;
2)this():-> 调用当前类的构造函数
注意:构造函数之间不能相互调用
this()必须为于当前构造函数有效代码第一行。
实例变量和静态变量的区别
- 存储位置不同 实例变量: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内存运行机制
静态方法中调用实例方法不能直接调,需要在静态中实例化一个对象,用对象点的方法去调用。