[TOC]
# 类
类是用来描述现实世界的事物的
事物:
```
属性 事物的描述信息
行为 事物能做什么
```
```
成员变量 就是事物的属性
成员方法 就是事物的行为
```
## 定义类其实就是定义类的成员(成员变量和成员方法)
* 成员变量 和以前定义变量是一样的。
只不过位置发生了改变:在类中,方法外。
初始化值:不需要给初始化值。
* 成员方法 和以前定义方法是一样的。
只不过把static去掉,面向对象进阶在详细讲解static的作用。
# 面向对象
对象:是该类事物的具体体现
```
类 学生
对象 班长就是一个对象
```
# 如何使用
使用一个类,其实就是使用该类的成员。(成员变量和成员方法)
要想使用一个类的成员,就必须首先拥有该类的对象。
我们该如何拥有一个类的对象呢?创建对象。
## 例:学生类
```
public class Student {
String name;
int age;
public void study() {
System.out.println("好好学习,天天向上!");
}
public void eat() {
System.out.println("学习饿了,要吃饭");
}
}
```
## 创建对象
### 创建对象的格式:
```
类名 对象名 = new 类名();
```
### 对象访问成员:
```
成员变量:对象名.成员变量
成员方法:对象名.成员方法
```
### 例:学生类的使用
```
public static void main(String[] args) {
Student s = new Student();
System.out.println("S:"+s);
System.out.println("姓名:"+s.name);
System.out.println("年龄:"+s.age);
System.out.println("---------------");
s.name = "小明";
s.age = 35;
System.out.println("姓名:"+s.name);
System.out.println("年龄:"+s.age);
System.out.println("---------------");
s.study();
s.eat();
}
```
> 姓名:null
年龄:0
> 姓名:小明
年龄:35
> 好好学习,天天向上!
学习饿了,要吃饭
### 例:手机类的创建和使用
```
public class Phone {
String brand;
int price;
String color;
public void call(String name){
System.out.println("给"+name+"打电话");
}
public void sendMessage(){
System.out.println("群发短信");
}
}
```
```
public class PhoneDemo {
public static void main(String[] args) {
//创建对象
Phone p=new Phone();
//输出成员变量
System.out.println("品牌:"+p.brand);//null
System.out.println("价格:"+p.price);//0
System.out.println("颜色:"+p.color);//null
System.out.println("-------------------");
//给成员变量赋值
p.brand="华为Mate10";
p.price=3999;
p.color="黑色";
//再次输出成员变量
System.out.println("品牌:"+p.brand);//华为Mate10
System.out.println("价格:"+p.price);//3999
System.out.println("颜色:"+p.color);//黑色
System.out.println("-------------------");
//调用成员方法
p.call("小明");
p.sendMessage();
}
}
```