JAVASE基础_03.面向对象编程--面向对象与内存解析

考虑问题去1.考虑这个问题中包含哪几个对象,2.每个对象应该具备的方法和属性,3.类和类之间的关系

一、类和对象

类是抽象的一类事物,对象是类中的一个实例化

1、类和对象的关系

(1)关联

最弱的一种关系,往往在程序中,类A和类B具有关联关系,则A是B的成员函数的一个参数

(2)继承

XX是一种XX,Java只支持单继承,一个字类只能有一个基类,一个基类可以派生出很多子类

(3)聚合

  • 聚集

A是B的一部分,也可以是C的一部分(队长和球队的关系)

  • 组合

A和B密不可分(脑袋和人的关系)

(4)实现关系

父类具有某种功能,由子类去实现

2.成员变量

  • 成员变量可以是Java语言中的任何一个数据结构(包括基本类型和引用类型)
  • 在定义成员变量时可以对他进行初始化,若不进行初始化,Java使用默认的值对他进行初始化(boolean默认false 引用默认NULL)
  • 成员变量的作用域是整个类

3.如何在内存中区分类和对象

  • 类是静态的概念,在代码区
  • 对象是new出来的,new出来的东西都在heap上,Java有垃圾回收机制。类的每个成员变量在不同的对象上都有不同的值(除了静态变量),而方法只有一份,执行的时候才占用内存。所以堆上只有成员变量,没有成员方法。

引用

  • 除了四类八种的基本类型外,别的类型都可以看作是引用类型
  • java中的对象是通过引用对其操作的,引用对象变量在stack上,指向的大内存在heap上(new出来的)
  • 引用类型占据两块内存,一块小内存指向一块大内存

二、构造方法

  • 没有返回值,不能写void,必须和类名相同
  • 和new一块使用,new的时候调用构造方法
  • 如果自己不定义构造方法,系统会自动添加;一旦自己指定,系统就不再添加了

三、方法是采用值传递的方法传递实参、方法的返回值存在一个临时区域中

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值