JAVA面向对象01:类与对象

博客介绍了类与对象的关系,类是抽象数据类型,对象是类的具体实例。阐述了面向对象编程以类组织代码、以对象封装数据,具有封装、继承、多态特性。还讲解了构造器的特点和作用,以及创建对象时方法区、栈、堆和静态方法区的内存分配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类与对象的关系

  • 类是一种抽象的数据类型,它是对某一类型事物的整体描述/定义,但不代表具体的事物
  1. 猫,狗,老鼠...都是Animal类
  2. 男人,女人,外星人..都是Person类
  3. 轿车,卡车,公交车..都是Car类
  • 对象是抽象概念的具体实例
  1. 哈士奇,泰迪就是Animal类的具体实例
  2. 奥迪,奔驰就是Car类的具体实例
  3. 能够体现出具体特点,展现出功能,就是具体实例,而不是一个抽象的概念

面向对象(OOP)

  • 面向对象编程的本质就是:以类的方式组织代码,以对象的形式封装数据
  • 类是抽象的,对象是类的实例化
  • 三大特性:
  1. 封装
  2. 继承
  3. 多态
  • 类是对象的模板

构造器

  • 使用new关键字创建对象
  • 使用new关键字创建对象的时候,除了分配内存空间外,还会给创建好的对象进行默认初始化,以及调用了类中的构造器
  • 类中的构造器也称为构造方法,是在进行创建对象的时候必须调用的,构造器有两个特点:
  1. 必须和类的名字相同
  2. 没有返回值,也不能写void
  • 构造器有两个作用
  1. 用来初始化值
  2. 当new了一个类的对象时,本质是调用了类中的构造器,也就是构造方法
  • 使用new关键字实例化对象后,默认为使用了无参构造,且在类中显隐性,一旦使用了有参构造,无参构造一定要显性出来

创建对象内存简单分析

  • 方法区

方法区存在于堆中,当定义一个类,类里面有属性,方法和常量池,当创建好这个类时,这些属性及方法保存在内存的方法区中

main()方法位于栈的最地层,当new了一个实例化对象时,对象就是引用变量存放于栈中

实例化对象后将具体的参数赋值给对象,值存放于堆中

  • 静态方法区

static方法是和类在创建时一起加载出来的​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值