面向对象介绍:
并不是一个技术,而是一种编程指导思想
把现实世界的具体事物全部看成一个一个的对象来解决实际问题。
类、对象
- 面向对象的思想:全部使用对象类解决问题,模仿现实世界。
- 面向对象中的重要概念:类:设计图,对象的共同特征的描述。对象:类的具体实例。
- 在Java代码中:必须现有类,才能有对象。
定义类、创建对象的代码写法:
成员变量的格式:
修饰符 数据类型 变量名称 = 初始化值
注意:存在默认值的,一般需要给初始化值
定义类的补充注意事项:
首字母大写,满足驼峰,不能用关键字,必须是标志符,有意义
一个代码文件可以定义多个类,只能一个类是public修饰的,public修饰的类名必须成为代码的文件名
创建对象的格式:
类名 对象变量 = new 类名();
Java对象内存图:
构造器:
初始化一个类的对象,病返回这个对象的地址。
格式:
分类:
- 无参构造器(默认存在):初始化的对象时,成员变量的数据均可采用默认值。
- 有参构造器:在初始对象的时候,同时可以为对象进行赋值。
注意:任何类定义出来,默认就自带无参构造器。一旦定义了有参构造器,无参构造器就没有了,此时需要手添加无参构造器。
this关键字:
代表了当前对象的地址,可以访问当前对象的成员变量,可以区分变量的是局部的还是对象的成员变量。
用在哪里:
出现在有参构造器中,可以再成员方法中出现,用于指定当前变量访问成员变量。
封装:
面向对象三大特征之一,合理隐藏,合理的暴露。
常用形式:
一般把成员变量使用private修饰隐藏,只能在本类访问。
提供public修饰的getter和setter方法暴露取值和赋值。
好处:
可以提升代码的安全性,可以提高开发效率。
注意:
封装已经成为Java代码的标准,即使无意义,代码风格也要满足封装的要求来书写。(专业)
标准JavaBean
实体类、学生类、教师类、用户类
标准JavaBean满足以下要求:
- 成员变量使用private修饰
- 提供一个成员变量对应的setXxx()/ getXxx()
- 必须提供一个无参构造器
成员变量与局部变量的区别:
区别 | 成员变量 | 局部变量 |
类中位置不同 | 类中,方法外 | 常见于方法中 |
初始化值不同 | 有默认初始化值 | 没有使用之前需要完成赋值 |
内存位置不同 | 堆内存 | 栈内存 |
生命周期不同 | 随着对象的创建而存在,随着对象的消失而消失 | 随着方法的调用而存在,随着方法的运行结束而消失 |
作用域 | 在所属的大括号中 |