面向对象
面向对象思想:
面向对象思想是一个程序设计思想
特点:
它可以将复杂的事情简单化,并将我们从执行者变成指挥者
对象:泛指现实中的一切事物,每种事物都具备自己的属性和行为
面向过程与面向对象区别:
面向过程:强调步骤
面向对象:强调对象
类与对象
对象:是一类事物的具体体现,包含属性、行为/功能
类:是一组相关属性和行为(功能)的集合
可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物
类与对象的关系:
类是对一类事物的描述,是抽象的
对象是一类事物的实例,是具体的
类是对象的模板,对象是类的实体
Java中类的定义
属性:事物的状态信息
行为/功能:事物能够做什么
Java中用class描述事物:
成员变量:对应事物的属性
成员方法:对应事物的行为
格式:
类名用大驼峰命名,要见名知意
public class ClassName{
属性---->成员变量
行为/功能------->成员方法
}
定义类:
就是定义类的成员包括:成员变量、成员方法
成员变量:类中方法外
成员方法:不要static
对象及使用
创建对象格式
类名 对象名 = new 类名();
使用对象访问类中的成员
访问成员变量
对象名.成员变量;
访问成员方法
变量名.成员方法;
成员变量的默认值
基本类型
整数
byte short int long 默认值0
浮点数
Float double 默认值0.0
字符
Char 默认值'\u0000'
布尔
Boolean 默认值false
引用类型
字符串、数组、接口 默认值null
成员变量与局部变量的区别
在类中位置不同
局部变量:方法中或者方法声明上
成员变量:类中,方法外
作用范围不一样
局部变量:方法中
成员变量:类中
初始化值不同
局部变量:没有默认值,必须先定义,赋值,最后使用
成员变量:有默认值
在内存中的位置不同
局部变量:栈内存
成员变量:堆内存
生命周期不同
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
成员变量:随着对象的创建而存在,随着对象的消失而消失
三大特征——封装
概述
面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。要访问该类的数据,必须通过指定的方式。适当的封装可以让代码更容易理解与维护,也加强了代码的安全性
原则
将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问
封装步骤
使用private关键字来修饰成员变量/成员方法
对需要访问的成员变量提供一对get方法set方法
private的含义:
Private是一个权限修饰符,代表最小权限,私有
Public代表最大
可以修饰成员变量和成员方法
被private修饰后的成员变量和成员方法,只有在本类中才能访问
Private使用格式
private 数据类型 变量名;
this关键字
this代表所在类的当前对象的应用,对象自己的引用
this使用格式
this.成员变量名;
作用:
用this修饰方法中的变量,可以解决成员变量被隐藏的问题
构造方法
构造方法就是构建对象的时候,给成员变量初始化值的方法
构造方法的定义格式
修饰符 构造方法名(参数列表){
方法体
}
构造方法格式特点:
方法名与它所在的类名相同
构造方法没有返回值,不需要返回值类型,也不需要void
构造方法的重载
方法重载:同名不同参
注意:
无论与否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个无参数构造方法,一旦自己定义了构造方法,Java自动提供的默认无参数构造方法就会失效
标准类javaBean
JavaBean是Java语音的一种标准规范,要求类必须是具体的和公共的一个类,
并且具有无参的构造方法,提供用来操作成员变量的set和get方法