1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 面向对象(特点) 局部变量与全局变量的区别 匿名对象 构造函数

面向对象(特点) 局部变量与全局变量的区别 匿名对象 构造函数

时间:2023-06-29 03:03:37

相关推荐

面向对象(特点) 局部变量与全局变量的区别 匿名对象 构造函数

一、

1,本文档为记录练习面向对象学习的文档。

2: 面向对象的三大特点: 1)、封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式,

优点:1、隔离了变化。 2、便于使用,提高了复用性。 3、提高了安全性。

原则:1、把不必要对外显示的都隐藏掉。 2、对外提供必要的公共方法作为操作接口。

(私有是封装的一种表现形式)。

2)、继承:

3)、多态: 必须有 继承 、动态方法的重写 、父类引用指向子类的对象。

3:面向对象的开发就是在寻找对象使用, 在没有对象使用的情况下, 我们应当自己创造对象使用。

也可以说是: 找对象 建立对象 使用对象 维护对象之间的关系。

二、对象与类之间的关系

类: 现实生活中对事物的描述。

对象: 这一类事物的实实在在的个体。

生活中有有一类个体:他们都会拿枪、射击、穿迷彩服、越野、杀敌等功能。------这就是一个军人的类。 类有属性(成员变量)和方法(动态属性)。

而具体到个体: 士兵1号、士兵2号、士兵3号等 就是这个类中的具体实体-----这就是一些士兵的对象。

而映射到java中 ,这些描述就是class定义的一个类

具体的对象, 就是new关键字在堆(heap)中创建的实体。

三 成员变量 与 局部变量

作用范围: 成员变量 作用于整个类的内部

局部变量 作用于方法或者语句块之中

内存中的位置 : 成员变量 存在于堆内存中,因为对象的存在而存在。 会先有系统的默认初始化(0 null), 之后才是我们定义个显示初始化。

在没有引用指向其对象的时候(及变成垃圾对象),被垃圾回收机回收后消失。

局部变量 存在于栈内存中,因为语句的执行而存在。 必须人工给予初始化,否则次变量不能使用。相关语句执行完毕后自动消失。

四、 匿名对象

如: new Car(); new Car().color = "blue"; new Car().runCar();

特点:只能使用一次, 使用之后便会变成垃圾, 等垃圾回收机回收清空内存。

匿名对象调用其属性没有意义, 调用其方法具有一定的意义。

使用情况:1)、只对对象的 方法 进行 一次调用 的时候。 这样写比较简便。 如果要对对象的多个成员进行调用,就必须给对象命名。

2)、可以将匿名对象当成参数紧传递。

构造函数:

特点:函数名与类名一致, 不能定义返回值类型, 不能使用return语句。 对象建立时就会调用与之实参相对应的构造函数。

构造函数只在构造是调用一次,之后不能重复调用, 而普通函数可以一直调用。

作用:给对象进行初始化(在默认初始化和显示初始化之后)。

注意:1、当没有写构造函数时,系统会自动给加上一个空参、空语句的构造函数, 否则,对象不能被构造出来。

2、当自定义了构造函数时,在new新对象时就必须按照相对应的形参进行创建。

3、当有多个构造函数存在时,它们以重载的方式存在, 通过new对象时传入的参数(实参)的不同来调用相应的构造函数。

在一个构造函数中可以调用(转到)另一个构造函数。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。