学习面向对象时分析内存有什么好处

Java学习笔记
本来学院是开过Java课程的,但是之前自己学的很水,感觉什么都没学到==。于是现在又打算自学Java。在网上找的马士兵老师的视频教程,今天学习内容初步总结如下:
一、面向对象这个词,只要是有程序基础的人应该都不会陌生。一般来说,类(对象)之间的关系有以下几种:
1.关联关系(最弱)
这个怎么理解呢?简单的说,比如定义两个类,一个为Assistant(售货员),一个为Candy(糖果),Assistant这个类我们定义一个方法sell(销售),这个方法需要传递参数吧,我们可以加一个形参为糖果,也就是sell(Candy c)。看到这里你就明白啦,所谓关联关系指的就是一个类的方法中用到了另一个类的对象。
2.继承关系
继承这个词,在面向对象里可谓是随处可见。继承简单的说就是is-a,如果两个类的关系能用is-a说得通,那么这两个类就满足继承关系了。比如Person这个类和Teacher这个类,Teacher是Person的一种吧,Person就叫做Teacher的父类,Teacher为Person的子类。值得一提的是,Java中只有单一继承,也就是说一个类的直系父类只能有唯一一个,而C++允许多重继承。
3.聚合关系
聚合关系简单说就是整体和部分的关系。还可划分为聚集和组合两种关系。
1)聚集关系(比较松散)
如上图所示,表现的就是一种聚集关系。队长和队员都是球队的组成部分,队长可以是这支球队的队长,也可以是另一支球队的队长,队员也是如此。
2)组合关系(密不可分)
如上图所示,一个人的头只能属于他自己,不可能说这个头既是他自己的也是另外一个人的。
接下来还有什么实现关系和多态关系之类的,这里就不说明了。
二、面向对象编程思考方式
要养成一个好的面向对象思考方式,是不容易的。当拿到一个问题时,给初学者有以下建议:
1)不要考虑解决问题的步骤。而是首先考虑问题中有哪些对象,找对象最直接的办法就是找名词。
2)考虑对象的属性和方法。
3)类之间的关系。
三、变量与内存
知识点稍微有点凌乱了……
1.在Java中,自定义成员变量时可以对其初始化。如果不对其初始化,Java则默认初始化。引用类型变量默认为null,布尔类型变量默认为false。其余的就不用说了。
2.什么是引用类型变量?除了基本类型变量之外的都叫做引用类型变量。基本类型变量占一块内存,引用类型变量占两块内存。意思就是比如:String s=new String(&hello&); s就是一个字符串类型的引用变量,String s的时候会在栈分配一个内存给s,执行语句new String(&hello&)时会在堆里面开辟一块内存区域,里面存放的内容就是&hello&,s这个引用变量指向&hello&.通俗点,所有new出来的都装在堆内存中。“引用”实际上就是一小块内存指向一大块内存。
3.堆用于动态分配内存,局部变量分配在栈。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:81次
排名:千里之外学生信息管理系统面向对象分析设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
学生信息管理系统面向对象分析设计
上传于||文档简介
&&学生信息管理系统分析设计文档,采用面向对象的方法,包括分析设计整个过程
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩12页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

 

随机推荐