对象:首先面向过程 就是函数的一个个调用,但函数 即过程太多不行。 然后面向对象 把功能(函数)集成抽象成一个类 对象 (是一个实例)。
一: 例子:从需求中寻找对象,一般是名词
1. class X ,创建对象实体, X 对象名 = new X(); //创建对象,赋给对象名 引用类型
2. 调用对象的功能 对象名.功能();
3. 描述对象 : ①属性(数值)即变量 ②行为(功能):即函数
例如
class ArrayTool {} 使用时, new ArrayTool().getMaxValue();
直接面对抽象的对象,找到对象后,所有功能都能用
自己创建对象时,把功能写好封装进去
getMaxValue{code....}
getMinValue{.....}
binarySearch{......}
二:类与对象关系:类,java 中描述实物通过 类 体现事物的 变量和功能
对象,用类创建的实体即对象具有 class 类型 ,即 new 一个,然后调用 变量 和功能 用.
类:
class Car
{
String color; //属性(成员变量)
int number;
void run() //行为 (成员功能)
{
}
//可定义主函数
}
小Tips
匿名对象: Car c = new Car(); // new 一个实例对象,定义了一个Car 类型的变量 c 称为引用变量 放在栈中,实例对象赋给了引用, 指向堆中的成员变量
// 可以定义多个引用变量指向同一堆内存,如果堆中对象没有引用指向就会被当垃圾回收(可以把引用赋值null)
c.run(); -> 简化成 new Car().run();
局限:多次调用变量赋值时,会被当垃圾回收,只能用在对象对方法进行调用,而且只调用一次时
****** 方法:属于类 或 对象 (Car c实例) : 1)static 方法 属于 类.方法 2) 非static 属于 实例.方法 ************
方法重载:同一个类中有多个同名的 方法 ,此时参数列表要不同,称为重载