面向对象和面向过程的区别:

面向过程:考虑第一步干嘛、第二步干嘛……

面向对象:

1、作为一个问题来说,有哪些类和对象;

2、每种类和对象有哪些属性和方法;

3、类和类之间具备什么关系;

一、类和对象

类是一类事物的一个抽象;

对象是类的一个具体实例;

类与类之间的关系

1、关联关系(弱)

2、继承关系(强)

A是一种B ,则A继承B

3、聚合关系(强)

A是B的一部分,则AB之间存在聚合关系

聚合关系又分为聚集和组合;

聚集是比较松的关系,组合是比不可分的关系;

 

3、实现关系(父类和子类之间)

4、多态

 二、面向对象设计方法

当要分析一个类时,首先找名词,但也要区别该名词是属性还是类。

图中类:机票、旅行社、客户、账户、目录

方法:机票(作废、显示航班时间)

 

 ”我要去新疆“话中的类:人、车。

方法:人(驾驶、吃、住),车(开动,启动)。

 

为什么要用对象?

现在有面向组件。

 三、Java面向对象基本概念--引用

基本数据类型占1块内存,引用类型占2块内存;

所有的引用类型全是指针;

为什么对象是位于堆内存中,因为堆是用来动态分配内存的,只有在运行过程中才会new一个新的对象放在堆中,因为只有在运行期间才知道这个对象所需要的内存有多大。而每个类的方法只有一份,只有在调用方法的过程中才会占用内存。

当这个对象不用了,则使用垃圾回收机制将对象回收回去。

 

 

 

 c1,c2是局部变量,存在于stack栈中;new 出来的内容都存在与堆中,new出来的对象空间中存在该类的所有成员变量

  

 

 三、构造方法

构造一个新的对象所使用的方法,和类同名,没有类型、没有返回值。

 

 

tom指向***,***存在于栈中,即一个逻辑地址,该逻辑地址指向堆内存中new出来的空间。

在new的过程中,会调用构造方法,同时栈中存在两个变量n=1,i=25。当new完后,n,i的值复制给了堆中的id和age,同时构造方法使用完成,栈中的两个变量n=1,i=25自动消失。

若没有定义构造方法,系统会默认添加一个空的构造方法;但是若自己定义了一个带参数的构造方法,系统不再自动添加默认构造方法,则Person p = new Person();会报错。

 

 构造方法经常遇到的问题:

和类同名,没有类型、没有返回值。

四、地址解析

 

  

 

 

 博客引用马士兵Java基础教程中的PPT,如有侵权,请联系删除,谢谢!

posted on 2020-04-02 20:15  走丢的蜗牛  阅读(76)  评论(0编辑  收藏  举报