Java面向对象介绍
Java面向对象介绍
1. 面向对象思想的介绍
1.1 前提
在了解面向对象之前,我们需要先了解一下面向过程过程编程,在实现一个具体的功能时,我们需要先了解这个功能要做什么,然后动手编写代码一步一步的把功能实现。这就是面向过程的思想。
1.2 概述
在面向过程编程的基础上,我们进行优化,封装时根据不同的功能,把具有相似功能的代码进行封装,在需要用到时,直接调用这些封装好的代码。
面向对象的思想强调的是让对象做事情。
1.3 面向对象思想的特点
l 是一种更符合人们的思考习惯的思想。
l 可以将复杂的事情简单化。
l 程序开发人员从执行的角色转换成了指挥的角色。
l Java编程面向对象编程思想的三大特征,封装、继承和多态。
1.4 面向过程思想和面向对象思想的举例
以做一顿饭举例。
l 面向过程时,需要自己找食谱、买菜、洗菜、炒菜等。
l 面向对象时,找了个女朋友,女朋友就把饭做好了。
2. 类与对象的关系
l 先有类再有对象,进而使用对象调用方法。
l 只有类没有对象时,没有意义。
3. 类的介绍
3.1 类的组成
l 类的属性:也被称为成员变量,为了保护成员变量数据的安全,成员变量的属性一般是私有的。
l 类的方法:也被称为成员方法。一般会包括对成员变量操作的get和set方法,包括无参和全参的构造方法。
3.2 代码示例
public class Cat {
//成员变量
private String name;
private Integer age;
//成员方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
//构造方法
//全参构造方法
public Cat(String name, Integer age) {
this.name = name;
this.age = age;
}
//无参构造方法
public Cat() {
}
}
4. Java面向对象的三大特征之封装
4.1 概述
使用{}将代码封装起来,起个名字,以后再使用这个代码 只调用名字。
4.2 封装中方法的关键字
l Public:公开成员变量或者成员方法。
l Private:将成员变量设置成私有,不让外部直接访问,但是可以通过公有的get或者set方法间接访问。那么问题来了,在使用get或者set方法访问成员变量时,如何解决数据的安全性问题呢?可以在get或者set方法中添加对数据安全性的校验。
4.3 封装的意义
l 隐藏了类的具体实现。
l 在实现具体的业务需求时,操作更加简单。
l 使用private修饰成员变量,提高了对象中数据的安全性。
5. This关键字
5.1 this关键字的概念
this关键字代表的是对本类对象的引用,指向的是本类已经创建的对象。
5.2 this关键字存在的意义
this关键字是为了解决局部变量与成员变量名字冲突的一个标记。
5.3 代码示例
//全参构造方法
public Cat(String name, Integer age) {
this.name = name;
this.age = age;
}
6. 类中的构造方法
6.1 构造方法存在的意义
在用类创建对象的时候,给成员变量赋值。
6.2 构造方法的分类
l 无参构造方法:
在类中没有写全参构造方法的时候,java在生成class文件时,会自动生成一个无参构造方法;
在类中写了全参的构造方法时,写程序的人员必须手动生成一个无参的构造方法,在使用无参构造方法创建对象时,对象中的成员变量是没有数据的,需要调用类的set方法为成员变量赋值。
l 全参构造方法:
使用全参构造方法创建对象的时候,对象中的成员变量是有数据的。
6.3 代码示例
类的代码见以上cat类的代码。
测试类的代码如下:
public class ClassDemo01 {
public static void main(String[] args) {
//1.使用无参构造方法创建对象
Cat cat1 = new Cat();
cat1.setName("tom");
cat1.setAge(18);
//2.使用全参构造方法创建对象
Cat cat2 = new Cat("danny",19);
}
}
7. 成员变量与局部变量
成员变量与局部变量的区别