# （七）类与对象




Java是一门面向对象的语言，其重要的一个思想就是 __“万物皆对象”__。 从某中意义上讲，类是Java面向对象性的基础，Java的任何工作都要在类中进行。

#### 类
---

创建一个 __"程序员"__ 类，人一般属性包括姓名、性别、年龄、住址等。他的行为吃饭、睡觉、写代码等。

```Java

class Programmer {

    /**
    /声明各类变量来描述程序类的属性
     */
    String name;
    String sex;
    int age;
    String address;

    void eat(){
        System.out.println("我在吃饭！");
    }

    void sleep(){
        System.out.println("我在睡觉！");
    }

    void code(){
        System.out.printf("我在写代码！");
    }

}

```
注意，这个类在创建时并没有加 `public` 的修饰符，关于修饰符的权限：

* private: 只有本类可见。

* protected：本类、子类、同一包的类可见。

* default(无修饰符)：本类、同一包的类可见。

* public：对任何类可见。

在上面的代码中，你可以用以上修饰符进行修饰。类、变量、和方法。如下：

```Java
public class Programmer {

    /**
    /声明各类变量来描述程序类的属性
     */
    protected String name;
    protected String sex;
    protected int age;
    protected String address;

    public void eat(){
        System.out.println("我在吃饭！");
    }

    public void sleep(){
        System.out.println("我在睡觉！");
    }

    public void code(){
        System.out.printf("我在写代码！");
    }

}
```

#### 对象
---

前面已经把描述对象的类抽象出来，接下来就是创建些类的实例。

单身妹子找不到对象，`new` 一个程序员就好了。哈哈！

```Java

public class FindObject {

    public static void main(String[] args) {

        Programmer programmer = new Programmer();

        // 定义对象属性
        programmer.name = "小明";
        programmer.sex = "男";
        programmer.age = 27;
        programmer.address = "北京";

        //调用对象行为
        programmer.eat();
        programmer.sleep();
        programmer.code();
    }

}
```

我们知道Programmer（程序员）只是一个类，住在隔壁对门家的男程序员对是一个具体的对象。所以，妹子要在一个程序员群体中找到一个具体的人做当对象。通过 `new` 关键字创建对象。

接下来对这个对象赋予具体的属性，调用他们的行为。一个鲜活的男朋友就站在你身边了。




原始封面

![课程图片](https://images.unsplash.com/photo-1610018556010-6a11691bc905?w=300)


