Java面向对象及关键词(上)
2016-08-18 17:05
232 查看
面向对象即:人为抽象的一种编程模式;将问题分解成一个个小的独立的问题,通过独立解决每个小问题来解决复杂的问题;
面向对象的三大特征:封装 继承 多态;
面向对象概念的关键词:对象(实例) , 引用, 构造方法, this, 方法重载, 继承, 重写, super, 多态, instanceof, 抽象类, final, static, 接口, 内部类.
类
-----------------------------------
*类比成设计图纸
*对事物,算法,逻辑,概念等的抽象
*封装相关的数据和逻辑运算方法
对象
-------------------------------------
*类比成"从设计图纸创建的产品"
*从类创建出的具体实例;
*对象占用独立的内存空间,来保存这个对象的属性数据;
*独立控制一个对象来执行一个方法;
引用
------------------------------------
*类比成遥控器;
*引用变量,保存一个对象的内存地址;
*用引用可以找到内存中对象的储存空间,控制或调用这个对象的属性和方法;
*引用的特殊值:null 空,即不保存任何对象的内存地址;
构造方法
--------------------------------------
*新建对象时,执行的一种特殊方法
eg:new Soldier();
new Car();
*一个类中必须存在构造方法;
*如果不定义构造方法,编译器默认添加构造方法
classA{
Public A(){}
};
构造方法的常见作用是为成员变量赋值;
构造方法重载(不同参数的多个方法):即方法同名参数不同;
--------------------------------------------------------------------------
this
------------------------------------------
*两种用法:
1)引用当前变量;
2)构造方法之间调用;
引用当前对象
1)this 保存当前对象(正在调用的对象)的内存地址;
2)用this调用当前对象的成员
eg:this.name
this.toString();
构造方法之间调用
*)目的:减少代码重复;
*)一般从参数少的方法调用参数多的方法,在参数最多的方法中编写代码,集中处理参数数据;
*)this(.....)必须是构造方法 的首行代码.
继承
-------------------------------------------------------------
*作用:代码重复使用;
*继承可见成员,不继承构造方法,不可见成员和静态成员;
*单继承:一个子类只能继承一个父类,而一个父类可以有多个子类;
*创建子类对象:
1)先创建父类对象,执行父类构造方法;
2)再创建再累对象,执行子类构造方法,两个对象绑定在一起,整体作为一个子类对象,调用成员时先找子类成员,再找父类成员.
*创建子类对象执行父类构造方法:
*)默认执行父类无参构造方法:super()
*手动调用父类有参构造方法:super(参数)
方法重写:overRide:(注意别和方法重载搞混淆)
*)从父类继承的方法不满足子类的需要么可以在子类中重写这个方法;
*)在重写的方法中,可以调用父类同一个方法的代码:eg super.toString();
super的两种用法
*)重写方法时,调用父类中同一个方法:eg:super.toString()
*)子类构造方法中,手动调用父类构造方法:super(参数),必须是首行代码.
由于时间原因先写到这,之后下篇还有多态,抽象类,static等逐一介绍.
面向对象的三大特征:封装 继承 多态;
面向对象概念的关键词:对象(实例) , 引用, 构造方法, this, 方法重载, 继承, 重写, super, 多态, instanceof, 抽象类, final, static, 接口, 内部类.
类
-----------------------------------
*类比成设计图纸
*对事物,算法,逻辑,概念等的抽象
*封装相关的数据和逻辑运算方法
对象
-------------------------------------
*类比成"从设计图纸创建的产品"
*从类创建出的具体实例;
*对象占用独立的内存空间,来保存这个对象的属性数据;
*独立控制一个对象来执行一个方法;
引用
------------------------------------
*类比成遥控器;
*引用变量,保存一个对象的内存地址;
*用引用可以找到内存中对象的储存空间,控制或调用这个对象的属性和方法;
*引用的特殊值:null 空,即不保存任何对象的内存地址;
构造方法
--------------------------------------
*新建对象时,执行的一种特殊方法
eg:new Soldier();
new Car();
*一个类中必须存在构造方法;
*如果不定义构造方法,编译器默认添加构造方法
classA{
Public A(){}
};
构造方法的常见作用是为成员变量赋值;
构造方法重载(不同参数的多个方法):即方法同名参数不同;
--------------------------------------------------------------------------
this
------------------------------------------
*两种用法:
1)引用当前变量;
2)构造方法之间调用;
引用当前对象
1)this 保存当前对象(正在调用的对象)的内存地址;
2)用this调用当前对象的成员
eg:this.name
this.toString();
构造方法之间调用
*)目的:减少代码重复;
*)一般从参数少的方法调用参数多的方法,在参数最多的方法中编写代码,集中处理参数数据;
*)this(.....)必须是构造方法 的首行代码.
继承
-------------------------------------------------------------
*作用:代码重复使用;
*继承可见成员,不继承构造方法,不可见成员和静态成员;
*单继承:一个子类只能继承一个父类,而一个父类可以有多个子类;
*创建子类对象:
1)先创建父类对象,执行父类构造方法;
2)再创建再累对象,执行子类构造方法,两个对象绑定在一起,整体作为一个子类对象,调用成员时先找子类成员,再找父类成员.
*创建子类对象执行父类构造方法:
*)默认执行父类无参构造方法:super()
*手动调用父类有参构造方法:super(参数)
方法重写:overRide:(注意别和方法重载搞混淆)
*)从父类继承的方法不满足子类的需要么可以在子类中重写这个方法;
*)在重写的方法中,可以调用父类同一个方法的代码:eg super.toString();
super的两种用法
*)重写方法时,调用父类中同一个方法:eg:super.toString()
*)子类构造方法中,手动调用父类构造方法:super(参数),必须是首行代码.
由于时间原因先写到这,之后下篇还有多态,抽象类,static等逐一介绍.
相关文章推荐
- 软件体系结构上机实验 面向对象体系结构风格的 KWIC 关键词索引系统设计与实现 java
- java学习日记_20:面向对象之this关键词的概述和。07.08
- java学习日记_19:面向对象之private关键词。07.06—07
- java学习日记_34:面向对象之super关键词、this与super的区别和继承中构造方法的关系。08.16~17
- JAVA学习笔记(二)-面向对象程序设计
- 面向 Java 开发人员的 Ajax: Ajax 的 Java 对象序列化---在 Ajax 应用程序中序列化数据的五种途径
- java和c++在面向对象上有什么区别?
- Java三个月 - 面向对象程序设计OOP的乐趣 - 程序人生
- 深入Java面向对象预备篇(3.研究数组)
- 面向对象程序设计--C++/Java
- 面向 Java 开发人员的 Ajax: Ajax 的 Java 对象序列
- Java三个月 - 面向对象程序设计OOP的乐趣 - 程序人生
- 面向 Java 开发人员的 Ajax: Ajax 的 Java 对象序列
- 面向Java开发人员的Ajax:Ajax的Java对象序列化
- JAVA-面向对象的程序设计
- 面向 Java 开发人员的 Ajax: Ajax 的 Java 对象序列
- 今天开始重温Java:1.面向对象
- java 面向对象程序设计浅谈一
- Java语言面向对象特性详解
- 有关JAVA的面向对象程序设计方法较全面介绍的一本书