Java-04 -面向对象

“对象”是计算机抽象世界的一种方式。“面向对象”可以用很多方式表达。下面是一种并不精确,但比较直观的理解方式:
世界上的每一个事物都可以称为一个 对象(object) ,比如张三。对象有 身份(Identity) , 状态(State) 和 行为(Behavior) 。
1-对象的状态由 数据 成员(data member) 表示。数据成员又被称作 域(field) 。我们用其他对象作为该对象的数据成员。比如一个表示身高的整数,比如一个鼻子。
2-对象的行为由 成员方法(member method) 表示。我们简称为 方法(method) 。一个对象可以有多个方法,比如 呼吸,睡觉 。
3-对象可以归 类(class) ,或者说归为同一 类型(type) 。同一类型的对象有相同的方法,有同类型的数据成员。某个类型的一个对象被称为该类型的一个 实例(instance)

类与对象

定义类 的语法:

class ClassName
 
{
    member1;
    member2;
    ...
}

我们定义一个human类:

class Human 
{
    void breath()
    {
        System.out.println("hu...hu...");
  }
 
    int height;
}

在{}范围内,Human类有两个成员: 一个数据成员height,一个方法breath()。
数据成员height是整数类型,可以用于存储一个整数。
方法代表了对象所能进行的动作,也就是计算机所能进行的操作。方法可以接受参数,并能返回值。在breath()的定义中,breath后面的()中为参数列表。由于参数列表为空,所以breath()不接受参数。在breath()之前的void为返回值的类型,说明breath不返回值。


方法与面向过程语言中的函数类似

现在,我们创建对象aPerson,并调用对象的方法breath:

public class Test
{
    public static void main(String[] args)
    {
        Human aPerson = new Human();
        aPerson.breath();  
        System.out.println(aPerson.height);
    }
 
}
 
class Human
{
    void breath()
    {
       System.out.println("hu...hu...");
    }
 
    int height;
}

在main方法中,使用 new 关键字创建对象。即使是来自同一个类的对象,各个对象占据的内存也不相同,即对象的 身份 也不同。

Human aPerson声明了aPerson对象属于Human类,即说明了对象的类型。

对象建立后,我们可以用 对象.数据成员 来引用数据成员,使用 对象.方法() 的方式来调用方法。正如我们在后面打印aPerson.height。


总结

Java的许多语法形式与C/C++类似,但在细节和具体实现上又有差别,需要小心。

对象,类

对象: 方法,域(数据成员)

Java是完全面向对象的语言。