9、构造方法
1)构造方法的名称必须与它所在类名称完全相同,并且不包含返回值类型描述部分。
2)构造方法在对象实例化时被调用,如果类的创建者没有提供构造方法,则由系统自动分配一个无参构造方法。
3)构造方法不能有任何非访问性质的修饰符修饰,例如static、final、synchronized、abstract等。
解释:构造方法用于初始化一个实例对象,所以static修饰是没有任何意义的;多个线程不会同时创建内存地址相同的同一个对象,所以synchronized修饰没有意义;构造方法不能被子类继承,所以final和abstract修饰没有意义。
10、成员变量和局部变量
直接在类中声明的变量叫成员变量,在方法内定义的变量叫局部变量。成员变量在整个类内都有效;局部变量只在方法内有效。
如果未对成员变量设置初始值,则系统会根据成员变量的类型自动分配初始值,例如int分配初始值0、boolean分配初始值false,而自定义类型则分配初始值null。
1)、 如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,即这个成员变量在同名局部变量所在方法内暂时失效。
2)、如果需要在局部变量有效的作用域内使用同名的成员变量,则必须使用关键字this来引用成员变量。
11、方法的重载和重写
方法重载是指一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。重载发