面向对象
2016-04-18 22:34
141 查看
面向对象Object
面向对象是一种思想
使用计算机语言对事物的描述与现实世界中该事物的原本尽量一致
类Class
class 类名称{
属性名称;
返回值类型 方法名称(){}
}
类名称 对象名称= new 类名称();
对象名称.属性 //访问类中的属性
对象名称.方法() // 调用类中的方法
使用一个没有实例化的对象,会抛出java.lang.NullPointerException(空指针异常)
对象的内存分析
当new一个对象的时候,会在栈内存中存储该对象的名称
给对象的属性赋值时,会在堆内存中开辟存储空间,栈中的对象名会指向堆内存中的首地址
封装
将程序实现的内部细节进行隐藏,使用者无需知道具体的内容
在属性名、方法名前使用控制符符来进行封装
public
公共访问修饰符
private
私有访问控制符
protect
保护访问控制符
重载(overloading)
方法的重载是实现“多态”的一种方法
在同一个类内具有相同名称的多个方法,如果这些同名的方法的
参数个数不同
参数类型不同
参数的顺序不同
这些同名的方法具有不同的功能
构造方法
在对象被创建时初始化对象的成员的方法
构造方法的名称必须与它所在的类名完全相同
构造方法没有返回值
构造方法名前不能使用修饰符void
在创建对象时自动调用,在对象产生时自动执行,不需要在程序中直接调用
如果省略,java编译器会自动为该类生成一个默认的构造方法(default constructor)
在某个构造方法中调用另一个构造方法时,必须使用this关键字
this关键字必须写在构造方法内的第一行位置
面向对象是一种思想
使用计算机语言对事物的描述与现实世界中该事物的原本尽量一致
类Class
class 类名称{
属性名称;
返回值类型 方法名称(){}
}
类名称 对象名称= new 类名称();
对象名称.属性 //访问类中的属性
对象名称.方法() // 调用类中的方法
使用一个没有实例化的对象,会抛出java.lang.NullPointerException(空指针异常)
对象的内存分析
当new一个对象的时候,会在栈内存中存储该对象的名称
给对象的属性赋值时,会在堆内存中开辟存储空间,栈中的对象名会指向堆内存中的首地址
封装
将程序实现的内部细节进行隐藏,使用者无需知道具体的内容
在属性名、方法名前使用控制符符来进行封装
public
公共访问修饰符
private
私有访问控制符
protect
保护访问控制符
重载(overloading)
方法的重载是实现“多态”的一种方法
在同一个类内具有相同名称的多个方法,如果这些同名的方法的
参数个数不同
参数类型不同
参数的顺序不同
这些同名的方法具有不同的功能
构造方法
在对象被创建时初始化对象的成员的方法
构造方法的名称必须与它所在的类名完全相同
构造方法没有返回值
构造方法名前不能使用修饰符void
在创建对象时自动调用,在对象产生时自动执行,不需要在程序中直接调用
如果省略,java编译器会自动为该类生成一个默认的构造方法(default constructor)
在某个构造方法中调用另一个构造方法时,必须使用this关键字
this关键字必须写在构造方法内的第一行位置
相关文章推荐
- 归并排序的3种实现
- 二叉树的构建和三种遍历算法 (递归实现)
- 递归遍历整个目录的代码
- unity中利用mesh动态创建墙体
- python 的 ssh的基础连接函数
- Hadoop 1.x MapReduce 模板类
- 中兴红牛V5救砖
- window10下qt creator下自定义并使用 基于Qt5.3.2
- 原来高德也有一样的图片覆盖物加载方法
- HDU 1078 FatMouse and Cheese 记忆化搜索模板 dp
- mysql将一个表中的某一列复制到另外一个表的一列(联表更新,假如全部列)
- 教你怎么提高网速 最全提高网速方法
- ARM Linux的启动全过程
- 学习
- TCP/IP、Http、Socket的区别
- 去掉git命令右键菜单
- (水)POJ-2676 DFS,数独
- MSF过程模型的特点
- docker安装
- 门禁系统 (201412-1)