面向过程
步骤去考虑事物的发展
面向对象
先考虑事物中存在哪些对象
在建立对象与对象的关系
对象
-
面向对象思想
- 一切客观存在的事物都是对象,万物皆对象
- 任何对象,一定具有自己的特征和行为
-
静态:属性、变量、成员变量、实例变量
-
动态:方法、函数、成员方法、实例方法
对象的创建方法:
类名 对象名 = new 类名
对象调用属性
对象名.属性名
对象给属性赋值
对象名.属性名 = 值;
对象调用方法
对象名.方法名(实参列表)
类
多个对象抽取其共同点形成的概念成为类
Java中如何定义一个类
访问权限符 关键字 类名{
访问权限修饰符 数据类型1 变量名2;
访问权限修饰符 数据类型2 变量名2;
······
访问权限修饰符 返回值类型 方法名(形参列表){
}
}
//属性定义在方法以外,类以内
//方法定义在方法以外,类以内
类与对象的关系
- 类:定义了对象应具有的特征和行为,类是对象的模板
- 对象:拥有多个特征和行为的实体,对象是类的实例
变量
实例变量
用static使用的全局变量不属于实例变量
- 在方法以外,类以内生声明的非静态的成员变量
- 作用域:可以在该类中非静态方法中使用
- 在该类中不能有两个名称相同的成员变量
- 有默认值,基本数据类型默认为0,引用数据类型为null
局部变量
方法内声明的变量
-
声明方法
数据类型 变量名
-
作用域: 声明该变量到变量所在代码块(方法)结束
-
在该代码块(方法)中不能出现两个名称相同的局部变量
-
当局部变量与成员变量名称相同时,优先使用局部变量
-
无默认值
方法
实例方法
在类中声明的非静态方法
比如:
Scanner sc = new Scanner(System.in);
sc.next();
- static修饰的方法中可以直接使用static修饰的成员,如果要使用非static修饰的成员必须先在该方法中创建该类对象,再通过对象调用属性和方法
- 非static修饰的方法中可以使用任何成员
构造方法
定义
类中的特殊方法,主要用于创建对象
特点
- 名称与类名完全相同
- 没有返回值类型
- 创建对象时,触发构造方法的调用,不用通过句点手动调用
注意
如果没有在类中显示定义构造方法,则编译器默认提供无参构造
对象的创建过程
注意啦,注意啦,敲黑板,有好多资深程序员都不知道的冷知识。
- 内存中开辟对象空间
- 为各个属性赋予初始值
- 执行构造方法中的代码
- 【将对象的地址赋值给变量】