1. 面向对象
当需要实现一个功能的时候,不关心具体的步骤。
面向对象的三大基本特征:封装,继承,多态。
2. 类和对象
什么是类
- 类:是一组相关属性和行为的集合。可以看成是一类事物的模版,使用事物的属性特征和行为特征来描述该类。
- 属性:该事物的状态信息。
- 行为:该事物能做什么。
举例:
属性:名字,体重,年龄。
行为:走,跑,吃。
什么是对象
- 对象:是一类事物的具体体现。对象是类的一个实例,必然具备该类事物的属性和行为。
类与对象的关系
- 类是一类事物的描述,是抽象的。
- 对象是一类事物的实例,是具体的。
- 类是对象的模版,对象是类的实例。
3. 类的定义
类的定义格式
package cn.itcast.demo03;
public class Student {
// 成员变量
String name; // 姓名
int age; // 年龄
// 成员方法
public void ear() {
System.out.println("吃饭饭!");
}
public void sleep() {
System.out.println("睡觉觉!");
}
public void study() {
System.out.println("学习!");
}
}
注意事项:
1. 成员变量直接定义在类中,在方法外边。
2. 成员方法不要写 static 关键字。
通常情况下,一个类不能直接使用,需要根据类创建一个对象,才能使用。
1. 导包:也就是指出需要使用的类,在什么位置。
import 包名称.类名称;
import cn.itcast.demo03.Student;
对于和当前类属于同一个包的情况,可以省略导包语句。
2. 创建
类名称 对象名 = new 类名称();
Student stu = new Student();
3. 使用,分为两种情况
使用成员变量:对象名.成员变量名
使用成员方法:对象名.成员方法(参数)
注意事项:
- 如果成员变量没有进行赋值,那么将会有一个默认值,规则和数组一样。
package cn.itcast.demo03;
//import cn.itcast.demo03.Student;
public class Demo01Student {
public static void main(String[] args) {
Student stu = new Student();
stu.name = "Ruby";
stu.age = 16;
System.out.println(stu.name);
System.out.println(stu.age);
stu.eat();
stu.study();
stu.sleep();
}
}
4. 局部变量和成员变量
1. 定义的位置不一样
局部变量:在方法的内部。
成员变量:在方法的外部,直接写在类中
2. 作用范围不一样
局部变量:只有方法当中才可以使用,出了方法就不能再用。
成员变量:整个类全部都可以通用。
3. 默认值不一样
局部变量:没有默认值,如果想要使用,必须手动进行赋值。
成员变量:如果没有赋值,会有默认值,规则和数组一样。
4. 内存的位置不一样
局部变量:位于栈内存。
成员变量:位于堆内存。
5. 声明周期不一样
局部变量:随着方法进栈而诞生,随着方法出栈而消失。
成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失。