面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
1. 对象
1. 万物皆对象,客观存在的事物都是对象
2. 类
1. 什么是类
类定义了一种抽象数据类型
类就是模板,确定对象将会拥有的特征(属性)和行为(方法)
2. 类的特点
- 类是对象的类型
- 具有相同的属性和放到的一组对象的集合
3. 什么是对象的属性
属性:对象具有的各种特征,每个对象的属性有具有特定的值,可以理解为对某类事物的描述
例如:狗类
属性:品种、尺寸、颜色、年龄
注意:对象的属性既具有默认值,这个默认值与相对的类型相关
数据类型 | 默认值 |
byte | 0 |
short | 0 |
int | 0 |
long | 0 |
double | 0.0 |
float | 0.0 |
char | 空字符 |
boolean | false |
String | null |
5. 什么是对象的行为
方法:对象执行的操作
6. 类和对象的关系
类是对象的抽象,仅仅是一个模板,在现实世界中是不存在的;而对象是具体的实例,是类这个模板的具体实例。
基本语法
Java中定义类其实就是定义类的成员(成员变量(属性)和成员方法(行为))
-
//成员变量
-
int a;
-
//成员方法
-
public void Dog() {
-
}
1、定义类
-
定义动物类,来描述所有动物对象共有的属性
-
1.属性:品种、尺寸、年龄、颜色
-
2.行为:吃饭、睡觉、奔跑
将对象抽象成一个类,抽取成一段描述,
public class Dog{public static void main(){}
创建dog对象 调用的是构造方法---用于创建对讲 创建对象是由调用构造方法来完成的;
2、创建对象及访问对象和行为
匿名对象
new创建对象但是没有赋值给变量
例如:new Person();
用法:
new Person().eat();
new Person().name--获取属性
new Person().name = "";
注意:
new Person()创建新的对象 在堆中开辟一块新的空间
特点:
匿名对象创建之后只能使用一次
优点:
可以尽早释放内存空间 提高内存利用率,简单方便
对象的内存
方法、变量放在栈中,new出来的对象在堆中
构造方法(构造函数 构造器) Constructor
概念: 构造方法名和类名完全相同且没有返回值部分作用: 给类的属性进行初始化赋值格式:
权限修饰符 类名(){}–无参构造
权限修饰符 类名(参数列表){}–有参构造
注意:
每个类如果没有显式的指定构造方法,则Java程序会自动生成一个无参构造;
如果在类中自定义了构造方法,则程序不会再提供默认的无参构造;
直接创建类的对象时,默认调用无参构造;
构造方法可以重载的;