Day07.01____构造方法
- 构造方法的格式: 权限修饰符 类名(){}
- 构造方法作用: 对对象的属性进行初始化
- 构造方法特点: 在使用new关键词创建了对象以后,就会马上调用构造方法
- 构造方法的重载: 参数列表不同,方法名字相同
参数列表不同的情况(与成员方法相同):
(1) 参数个数不同
(2) 参数顺序不同 —> 没有意义,开发不用
(3) 参数类型不同 - 定义了有参的构造方法后,还需要定义一个无参的构造方法
- setXxx()方法与构造方法的异同点
- 相同点:都可以对属性进行初始化
- 不同点:
- 构造方法常用于初始化属性
- setXxx()常用于修改属性的值
注意:修改属性值的时候不要用构造方法,因为会将原来的对象变成垃圾
Day07.02____成员方法的几种表现形式
- 返回值类型:
- 有返回值类型 通常可用于更多的操作
- 无返回值类型 通常只用于打印语句
- 总结: 有返回值的比无返回值的更加灵活、好用
- 参数类型:
- 有参数类型 使操作更加的灵活
- 无参数类型 通常是固定的值,只用于打印语句
- 总结:有参数的比无参数的更加灵活、好用
- 总结:有参数的比无参数的更加灵活、好用
Day07.03____成员变量和局部变量
- A:成员变量所属于对象。定义的变量是对象的特性的话,就将其定义为成员变量
- B:局部变量所属于方法。定义时需要看方法是否需要,需要就定义,否则就不定义
- C:成员变量比局部变量更浪费内存
Day07.04____静态成员
- 方法区的组成:
- (1) 方法区包括两部分,一部分是共享区( 静态区 ),一部分是非共享区( 非静态区 ),还有一部分是常量池。方法区又叫做非堆,其代表的意思就是,与堆一样存放的都是对象,但两个存放的对象类型不同
- (2) 类的class字节码文件、静态成员变量、静态成员 方法都存在于方法区中,并且其都是对象。长时间不用,也会被java的垃圾回收机制自动回收
- 静态成员的组成:
- 静态成员包括静态变量和静态方法,所属于类,因此也叫类成员
- 静态成员所属于类 可以通过( 类名. )的方式进行访问,也可以通过( 对象. )的方式进行访问
- 静态成员所属的范围:
- 属于方法区中的静态区,它的产生会随着类的加载而产生
- 静态成员与普通成员的区别:
- (1) 静态成员的生命周期比普通成员长,因为静态可以通过( 类名. )的方式进行调用,而普通成员必须通过( 对象. )的方式进行调用,也就是说,我调用静态变量的时候,可以不用存在对象,即方法区里有成员时,堆里不一定有,因为堆中的对象必须使用new关键字创建。
- (2) 静态成员可以使用( 类名. )和( 对象. )两种方式访问;普通成员只能使用( 对象. )的方式进行访问
- 静态的特点:
- (1) 随着类的加载而加载
- (2) 优先于对象存在
- (3) 可以被类的所有对象共享
- 静态的注意事项:
- (1) 在静态方法中没有this关键字
- 因为静态成员是随着类的加载而加载的,当类加载进方法区时,对象可能还没有创建,因此static中没有this关键字
- (2) 静态方法只能访问静态变量和静态成员方法,而非静态方法既可以访问静态的变量和成员方法,又可以访问非静态的变量和成员方法
- (1) 在静态方法中没有this关键字
Day07.05____工具类编写
- 规定,当所有的方法都是静态的,需要将构造方法私有化,防止调用者用对象调用方法浪费空间