面向过程:当需要实现一个功能时,每一个具体步骤都要亲力亲为,详细处理每一个细节。
面向对象:当需要实现一个功能时,找一个已经已经会这个功能的人来帮我,不需要亲力亲为。
面向对象的三大特征:封装、继承和多态(任何面向对象的语言都有这三大特征)
类:类是事物属性和行为的集合,
属性就是指事物的状态信息
行为就是这个事物能做些什么
类和对象的关系
类是一类事物的描述,是抽象的
对象是一类事物的实例,是具体的
类是对象的模板,对象是类的实体
类的属性和行为对应到java中就是成员变量和成员方法。
成员变量就是定义在方法外面的变量
成员方法的定义:public void 方法名称(){ }
注意:成员方法的定义与普通方法的定义的区别是没有关键字static
通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用。,创建步骤如下:
-
导包:也就是指出需要使用的类,在什么位置。
import 包名称.类名称;
import cn.itcast.day06.demo01.Student;
对于和当前类属于同一个包的情况,可以省略导包语句不写。 -
创建,格式:
类名称 对象名 = new 类名称();
Student stu = new Student(); -
使用,分为两种情况:
使用成员变量:对象名.成员变量名
使用成员方法:对象名.成员方法名(参数)
(也就是,想用谁,就用对象名点儿谁。)
注意事项:
如果成员变量没有进行赋值,那么将会有一个默认值,规则和数组一样。
*/
// 4 使用对象的成员方法,格式:
// 对象名.成员方法名()
封装性在Java当中的体现:
4. 方法就是一种封装
5. 关键字private也是一种封装
构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。
格式:
public 类名称(参数类型 参数名称) {
方法体
}
注意事项:
- 构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样
- 构造方法不要写返回值类型,连void都不写
- 构造方法不能return一个具体的返回值
- 如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法,没有参数、方法体什么事情都不做。
public Student() {} - 一旦编写了至少一个构造方法,那么编译器将不再赠送。
- 构造方法也是可以进行重载的。
重载:方法名称相同,参数列表不同。
当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,优先使用局部变量。
如果需要访问本类当中的成员变量,需要使用格式:
this.成员变量名
“通过谁调用的方法,谁就是this。”
一个标准的类通常要拥有下面四个组成部分:
- 所有的成员变量都要使用private关键字修饰
- 为每一个成员变量编写一对儿Getter/Setter方法
- 编写一个无参数的构造方法
- 编写一个全参数的构造方法
这样标准的类也叫做Java Bean