不必传递对象引用即可使用static方法和变量
解释:main()方法是static? 可以在任意对象创建之前,将类加载到内存后立即调用它。
- 非static方法工作原理
Cat cat = new Cat();
String name = cat.getName();
cat.setAge(17);
cat.setChildren(cat1, cat2, cat3);
实际发生的时候String name = cat.getName(cat);
使用 对象.方法名称 调用方法时,实际上时在调用类方法,并将该对象作为第一个参数进行传递。在方法内,对象称为“this”。方法中的所有操作都是针对此方法及数据执行的。
- static方法工作原理
Cat cat1 = new Cat();
Cat cat2 = new Cat();
int catCount = Cat.getAllCatsCount();
实际发生的时候
int catCount = Cat.getAllCatsCount(null);
调用static方法时,不会向它传递任何对象。换言之,“this”等于null。这就是static方法无法访问
非static变量和方法的原因(因为它没有任何内容明确传递给非static方法)。
static中不能使用this。this.sex报错,不能再static中使用。
