2021-1-13复习java第三天(查缺补漏)(3)
因为有编程语言基础,这里会加快复习的进度,加快完成正常每天的工作任务,熟练的只做简单记录,不熟练的细化研究。
类部分
类和对象
- 类:属性+行为,抽象的,对象的模板(图纸)
- 对象:类的实例,具体的,类的实体(手机)
调用类
- 导包:import 包名.类名(当类在同一个包不用导)
- 创建类的对象
类名 对象名 = new 类名(); - 使用
对象名.xxx;
内存中的存储形式
成员方法地址值在堆中,new出来的在堆中,随之属性也在堆中;栈中存放对象,访问属性时,根据对象地址从堆中拿,而调用方法,则根据堆中的成员方法地址在方法区找到对应方法,方法进栈,用完出栈。
局部变量和成员变量
- 定义位置不一样:
局部变量:在方法内部
成员变量:在方法外部,直接写在类中 - 作用范围不一样
局部变量:只有方法中才可以使用,出了方法就不能再用
成员变量:整个类都可以使用 - 默认值不一样
局部变量:无默认值,若想要使用,必须手动进行赋值
成员变量:如果没有赋值,会有默认设置,规则和数组一样 - 内存位置不一样
局部变量:栈中
成员变量:堆中 - 生命周期不一样
局部变量:随着方法进栈而产生,随着方法出栈而消失
成员变量:随着对象创建而产生,随着对象被垃圾回收而消失
面向对象三大特征—封装
标准类(Java Bean)
- 所有成员变量用private修饰
- 为每个成员变量编写一对Getter/Setter方法
- 一个无参构造方法
- 一个全参构造方法
注意的点
- boolean类型的get方法为格式为:isXXX();
- 局部变量和成员变量重名,为就近原则,使用局部变量,,如果要使用成员变量用:this.成员变量
- 如果不写构造,系统会自动创建个无参构造方法;如果写了一个构造方法就不再自动创建
- 构造方法可以重载