面向对象-类与对象

面向对象-类与对象

对象【属性和行为构成】

类与对象的关系

  • 类就是数据类型,比如cat
  • 对象就是一个具体的实例,比如具体的一只名为小红的猫。

示意图
图片说明

代码实例:

//养猫问题,老太太有小白和小花两只猫,它们有自己的年龄和花色等特征,请编写一个程序,当用户输入猫的名字时
//就能显示出猫的特征,若名字输错,则显示老太太没有这只猫

public class Object01 {
    public static void main(String[] args) {
        //实例化一只猫

        //1.new Cat() 创建一只猫
        //2.Cat cat1 = new Cat(); 把创建的猫赋给Cat1
        //3.Cat1就是一个对象
        Cat cat1 = new Cat();
        cat1.name = "小白";
        cat1.age = 3;
        cat1.color = "白色";

        //创建第二只猫,并赋给Cat2
        //cat2也是一个对象(猫对象)
        Cat cat2 = new Cat();
        cat2.name = "小花";
        cat2.age = 100;
        cat2.color = "花色";

        //怎么访问对象的属性呢
        System.out.println("第一只猫的信息:" + cat1.name + " " + cat1.age + " " + cat1.color);
        System.out.println("第二只猫的信息:" + cat2.name + " " + cat2.age + " " + cat2.color);
    }
}

//使用面向对象的方式来解决养猫问题
//
//定义一个猫类 Cat  -> 自定义数据类型
class Cat{
    //属性
    String name;
    int age;
    String color;
}

输出示例:
第一只猫的信息:小白 3 白色
第二只猫的信息:小花 100 花色

对象内存布局

图片说明

Java内存结构分析

  • 栈:一般存放基本数据类型(局部变量)
  • 堆:存放对象(Cat cat,数组等)
  • 方法区:常量池(常量,比如字符串),类加载信息

总结

  • 类是抽象的,概念的,代表一类事物,比如人类,猫类...,即它是数据类型
  • 对象是具体的,实际的,代表一个具体的事物
  • 类是对象的模版,对象是类的一个个体,对应一个实例
posted @ 2021-02-20 15:44  Irisx33  阅读(64)  评论(0)    收藏  举报