欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

面向对象-对象与类

程序员文章站 2024-03-15 18:38:00
...

面向对象

面向对象的五个特性:
万物皆对象
程序是对象的集合,它们通过发送消息来告知彼此所要做的
每个对象都有自己的由其他对象所构成的存储
每个对象都拥有其类型
某一特定类型的所有对象都可以接收同样的消息

类是构造对象的模板或蓝图
类描述了具有相同特性(数据元素)和行为(功能)的对象集合
由类构造对象的过程称创建类的实例
类与类之间常见的关系有:依赖(use-a)、聚合(has-a)、继承(is-a)

对象

对象有三个主要特征:对象的行为、对象的状态、对象的标识
对象状态的改变必须通过调用方法实现
作为一个类的实例,每个对象的标识永远是不同的,状态常常也存在着差异
对于每个特定的类实例(对象)都有一组特定的实例域值,这些值的集合就是这个对象的当前状态
每一个类都有一个接口
每个对象都提供服务

对象与对象变量

要想使用对象,必须首先构造对象,并指定其初始状态,然后对对象应用方法
在Java中,使用构造器构造新实例,构造器是一种特殊的方法,用来构造并初始化对象。
一个对象变量并没有实际包含一个对象,而仅仅引用一个对象。任何对象变量的值都是对存储在另外一个地方的一个对象的引用。
如果将一个方法应用于一个值为null的对象上,那么就会产生运行错误
对象内存图:面向对象-对象与类

成员变量与局部变量的区别

在类中的位置 在内存中的位置 生命周期 初始化值
成员变量 在类中方法外 在堆内存 随着对象的创建而存在,随着对象的消失而消失 有默认初始化值
局部变量 在方法内或者方法声明上 在栈内存 随着方法的调用而存在,随着方法的调用完毕而消失 没有默认初始化值,必须定义、赋值才能使用

注意:局部变量名称可以和成员变量名称一样,方法调用采用就近原则

形式参数是类名

形式参数是基本类型:基本形式参数的改变不影响实际参数(相当于拿的一个拷贝值)
形式参数是引用类型:形式参数的改变直接影响实际参数(引用在内存中指向实际值,如果修改则修改实际值)
如果一个方法的形式参数是一个类类型(引用类型),其实这里需要的是该类的对象

匿名对象

没有名字的对象(是对象的一种简化表示形式)
对象调用方法仅仅一次的时候:

new Student().show();
new Student().show();//这里其实是重新撞见了一个新的对象

作为实际参数传递

StudentDemo sd = new StudentDemo();
sd.method(new Student());
//匿名对象
new StudentDemo().method(new Student());

version 1.0

相关标签: java对象