构造函数要注意的细节:
1. 构造函数是没有返回值类型的。
2. 构造函数的函数名必须与类名一致。
3. 构造函数并不是由我们手动调用的, 构造函数是在创建对应对象的时候由jvm主动调用的(每创建一个对象就会调用一次构造函数)。
4. 如果一个类没有显式的添加一个构造函数,那么java编译器会为该类添加一个无参的构造函数。
5. 如果一个类已经显式的添加一个构造函数,那么java编译器则不会再为该类添加一个无参的构造函数。
6. 构造函数是可以以函数重载的形式存在多个的。
static :翻译为静态的,是一个修饰符,可修饰字段,方法,内部类,代码块。被他修饰的成员,属于类级别,而不属于对象。
怎么理解?:人类(类),某一个人(类的对象,实例),static 修饰的部分是属于人类共有,而不只属于某一个人。
static修饰以后,在java虚拟机加载类的时候就加载了(比对象先存在),非静态(类加载以后,后来才创建的【对象,方法等】)可以调用静态,而静态不能调用非静态。【可以试想一下,静态是随着类加载而加载的,那么静态修饰的成员是一定存在的。后来才创建的非静态,去找(调用)一定存在的静态成员,那么他是可以找到的(可以调用)。反过来,一定存在的成员,去调用,后来才创建的成员,(如果后来没有创建这个成员呢?是不是就找不到了(调用不了))所以静态是不能调用非静态修饰的成员的】。