面向对象
面向对象简称 OO(Object Oriented),20 世纪 80 年代以后,有了面向对象分析(OOA)、 面向对象设计(OOD)、面向对象程序设计(OOP)等新的系统开发方式模型的研究。
对 Java 语言来说,一切皆是对象。把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。一个个对象最终组成了完整的程序设计,这些对象可以是独立存在的,也可以是从别的对象继承过来的。对象之间通过相互作用传递信息,实现程序开发。
类与对象时整个面向对象中最基础的组成单元。
可以一句话来总结出类和对象的区别:类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。
在面向对象定义之中,也规定了一些基本的特征:
(1)封装:保护内部的操作不被破坏;
(2)继承:在原本的基础之上继续进行扩充;
(3)多态:在一个指定的范围之内进行概念的转换。
类
类的定义
类是一个模板,它描述一类对象的行为和状态。它来定义对象都有哪些属性,有哪些行为。因为对象包含属性和行为,由于类是对对象的描述,所以类也包含属性和行为。
对象的属性,在定义类的时候称为实例变量或成员变量或属性。
对象的行为,在定义类的时候称为实例方法或成员方法。
类本质上就是一种自定义的数据类型,定义出来类型以后,可以用这个类型去创建变量(创建的变量称为对象)。
类的定义格式
使用class关键字来定义类。
public class 类名{
//实例变量(或成员变量)
数据类型 变量1;
数据类型 变量2;
....
//实例方法(或成员方法)
方法1;//此方法要去掉static关键字
方法2;//此方法要去掉static关键字
...
}
注意事项:
1. 类名使用大驼峰法命名,即每个单词首字母大写。
2. 实例方法不能用static修饰。
一个文件中能定义多个类。----只要用class去定义就可以。
但只能有一个public修饰的类。被public修饰的类必须和文件名相同。
之所以只能由一个public修饰的类,是因为一个文件只有一个文件名。
大多数情况下一个文件中只定义一个类。
属性的默认值与数组元素的默认值相同:引用类型的默认值是null,
基本数据类型默认值是: 整数是0,小数是0.0,布尔值是false,字符值是0。
对象
Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。
对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
对象有以下特点:
- 对象具有属性和行为。
- 对象具有变化的状态。
- 对象具有唯一性。
- 对象都是某个类别的实例。
- 一切皆为对象,真实世界中的所有事物都可以视为对象。
对象的创建
对象创建的格式
格式一:声明并实例化对象
类名 对象名 = new 类名();
格式二:先声明对象,然后实例化对象:
类名称 对象名称 = null ;
对象名称 = new 类名称 () ;
引用数据类型与基本数据类型最大的不同在于:引用数据类型需要内存的分配和使用。所以,关键字new的主要功能就是分配内存空间,也就是说,只要使用引用数据类型,就要使用关键字new来分配内存空间。
如果在一个类中要使用别的类,分2种情况。
1. 别的类和当前类在同一个包中。不需要导包。
2. 别的类和当前类在不同的包中。需要导包。快捷键 Ctrl+Shift+O
对象的使用
属性
使用对象的属性包括:给属性赋值、使用属性的值。
给对象的属性赋值格式:
对象名.属性名 = 值;
使用对象的属性值格式:
数据类型 变量名 = 对象名.属性名;
方法
使用对象的方法指的就是调用对象的方法。
格式:
对象名.方法名();//如果方法有参数,在小括号内写上实参。如果方法有返回值,可以用变量接收返回值。