任彦儒

博客园 首页 新随笔 联系 订阅 管理

面向对象的相关的概念

:抽象的,描述了该类的所有对象具有的数据和功能,
类是模版。

对象:具体的,体现了对应类里的数据和功能,任何一个具体
的事物都可以对应为某一个类的对象。


面向对象编程:把程序用的数据和功能分配到不同类中,通过对象去体现。

解决复杂的业务问题

a)把复杂的问题进行分解--》利用面向对象编程分解
b)每一个具体的问题处理---》利用面向过程


使用类


定义类

语法
class 类名{
//数据--成员变量
语法:[修饰符] 数据类型 变量名1 [=值1],...;

//功能--成员方法(不加static的方法)

语法:
public 返回值类型 方法名(参数列表){
}

}


类是抽象的-》通过对象才能体现其数据和功能


创建对象

new 类名(构造器参数列表);
创建对象
1)开辟内存空间,在堆里创建一个对象
2)返回刚创建的对象地址

对象不能直接使用---》通过引用才能使用

定义引用

语法:类名 引用变量名;

引用操作对象-》需要和对象有关系-》通过赋值建立关系(引用把对象地址存储起来)

语法:类名 引用变量名=new 类名(构造器参数列表);


引用怎么操作对象的数据和功能
语法:引用.数据或功能

对象和引用的对比
1)对象存储在堆中,存储真实的业务数据
2)引用如果是局部变量,存储在栈中,存储是对象的地址。

简单理解:对象类似于电视,引用类似于电视的遥控器。


内存分析

速度 存储内容
栈: 块 局部变量
堆: 慢 new 的对象


局部变量和引用变量存储位置

a)局部变量在栈中
b)成员变量在堆中

基本类型和引用类型存储的数据
a)基本类型存储的是业务数据
b)引用类型存储的是地址


注意点
1)方法在调用的时候,参数传递,实际参数给形式参数赋值
2)对象可以被多个引用所指向 ,其中一个引用改变了对象,其他引用也可见。
3)一个引用也可以指向多个对象,但是同一时刻只能指向一个对象。

 

构造器

作用:在创建对象为对象初始化数据(成员变量)。

定义构造器
语法:
public 类名(参数列表){
//构造器初始化代码
}

创建对象的过程
1)开辟内存空间,在堆里创建一个对象
2)通过刚创建的对象,调用匹配参数的构造器
3)返回刚创建的对象地址


注意点:
1)构造器定义后,不能直接用对象调用-在new对象的时候自动调用
2)不能有返回值类型-》默认为void(不能写),可以写return;(提前结束构造器)
3)名字必须和类名相同(区分大小写)
4)没有定义构造器,会自动添加空构造器,一旦显示添加构造器,那么就不会自动添加
空构造器,而空构造器通常需要使用(a)继承 b)反射...),所以需要手动添加空构造器


构造器重载:多个构造器参数不同,则形成重载

构造器重载好处:根据不同的对象初始化需求选择不同构造器。

 

this关键字

理解
1)系统自动定义的当前类(this所在类)类型的引用变量。
2)this指向的对象:当前对象(调用了当前方法的对象)
3)当前方法:成员方法,构造方法,构造块,(不能是static 块和方法)。


this的使用
1)this.成员变量
2)this.成员方法
3)this(构造器参数);---》在构造器中调用其他构造器,重载已有构造器代码
语法:
1)必须是构造器
2)必须是第一句

posted on 2016-04-24 18:08  任彦儒  阅读(133)  评论(0编辑  收藏  举报