Java类与对象的关系

定义一个类,用来模拟“学生”事物。其中就有两个组成部分:

属性(是什么):
姓名
年龄
行为(能做什么):
吃饭
睡觉
学习

对应到Java的类当中:

成员变量(属性):
    String name; // 姓名
    int age; // 年龄
成员方法(行为):
    public void eat() {} // 吃饭
    public void sleep() {} // 睡觉
    public void study() {} // 学习

注意事项:

1. 成员变量是直接定义在类当中,在方法外边。
2. 成员方法不要写static关键字。
public class Student {
    //成员变量
    String name;//姓名
    int age;//年龄

    //成员方法
    public void eat(){
        System.out.println("吃饭饭!");
    }
    public void sleep(){
        System.out.println("睡觉觉!");
    }
    public void study(){
        System.out.println("学习!");
    }
}

通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用。

  1. 导包:也就是指出需要使用的类,在什么位置。
    import 包名称.类名称;
    import cn.itcast.day06.demo01.Student;
    对于和当前类属于同一个包的情况,可以省略导包语句不写。

  2. 创建,格式:
    类名称 对象名 = new 类名称();
    Student stu = new Student();

  3. 使用,分为两种情况:
    使用成员变量:对象名.成员变量名
    使用成员方法:对象名.成员方法名(参数)
    (也就是,想用谁,就用对象名点儿谁。)

注意事项:
如果成员变量没有进行赋值,那么将会有一个默认值,规则和数组一样。

public class Demo02Student {

    public static void main(String[] args) {
        // 1. 导包。
        // 我需要使用的Student类,和我自己Demo02Student位于同一个包下,所以省略导包语句不写

        // 2. 创建,格式:
        // 类名称 对象名 = new 类名称();
        // 根据Student类,创建了一个名为stu的对象
        Student stu = new Student();

        // 3. 使用其中的成员变量,格式:
        // 对象名.成员变量名
        System.out.println(stu.name); // null
        System.out.println(stu.age); // 0
        System.out.println("=============");

        // 改变对象当中的成员变量数值内容
        // 将右侧的字符串,赋值交给stu对象当中的name成员变量
        stu.name = "赵丽颖";
        stu.age = 18;
        System.out.println(stu.name); // 赵丽颖
        System.out.println(stu.age); // 18
        System.out.println("=============");

        // 4. 使用对象的成员方法,格式:
        // 对象名.成员方法名()
        stu.eat();
        stu.sleep();
        stu.study();
    }
}

内存调用示意图:

(图中表示出栈)

1.只有一个对象的内存图

2.两个对象使用同一个方法的内存图

3.两个对象使用同一个方法的内存图

4.使用对象类型作为方法的参数

5.使用对象类型作为方法的返回值

posted @ 2021-04-04 22:45  Cucurrucucu  阅读(338)  评论(0)    收藏  举报