黑马程序员—Java面向对象程序设计
2015-07-03 16:20
471 查看
------- android培训、java培训、期待与您交流! ----------
面向过程:强调的是功能行为
面向对象:将功能封装进对象,强调具备了功能的对象
面向对象的特征:多态(重载和覆盖)、继承、和封装
多态:Polymophism类中具有相似功能的不同方法用同一个方法名定义从而使用相同的方式调用具有不同功能的同名方法。包括重载和覆盖。
继承:Inheritance一个类成为另一个类的子类,子类继承父类的所有特性,并且可以扩展出自已的特征。实现代码的重用。
封装:Encapsulation把对象的属性和对行为结合在一起,形成一个不可分割的独立单位,并且尽可能隐藏对象内部结构。避免数据成员被不正当的存取,以达到信息隐藏的效果,避免错误的存取发生。
重载(overload):方法名相同,但是参数列表不同。返回类型不能作为区分的依据,区分依据只有:参数个数、参数类型。
覆盖(override):子类和父类存在相同的方法名、参数列表、返回类型,在使用子类的方法时即覆盖了父类方法
理解类和对象
类:就是对现实生活中事物的描述。仅定义属性和行为,是模板和图纸。
对象:就是这类事物,实实在在存在个体。具有确定的属性和行为
•对象Object
•状态 (属性)
•行为 (方法)
•状态保存在变量中,行为使用方法实现
•对象之间使用消息进行信息的传递
•类Class:具有相同属性和行为的对象的集合。
•包Package:一组相关的类和接口的集合称为包。
类和对象的关系
类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。
类的创建和声明
类的实现包括两部分:类声明和类体。基本格式为:
class 类名
{
成员变量声明;public公共的、private私有的、protected受保护的
类体的内容: 成员方法声明;
}
成员变量和局部变量
作用范围:成员变量作用于整个类中;局部变量作用于函数中,或者语句中。
在内存中的位置:成员变量在堆内存中,因为对象的存在,才在内存中存在;局部变量存在栈内存中。
例如:用 class 关键字定义一个类
class Person {
//成员变量定义
private int id;
private int age = 20;
//方法定义
public int getAge() {return age;}
public void setAge(int i) {age = i;}
public int getId() {return id;}
}
类的定义主要由两方面组成 —>成员变量和方法
父类:被继承的类,又称超类/基类。
子类:继承了父类的类,又称派生类。
定义对象的方法
创建一个对象包括对象的声明和为对象分配内存两个步骤。
1.声明对象
Student s1; // 声明一个Student类 的对象s1
2.对象的初始化
s1 = new Student( ); // 使用new关键字创建对象s1,为对象分配内存空间
常用格式:
Student s1 = new Student();
对象的使用
对象被创建后,可以通过使用对象变量和“.”运算符,来实现对自己变量的访问。
面向过程:强调的是功能行为
面向对象:将功能封装进对象,强调具备了功能的对象
面向对象的特征:多态(重载和覆盖)、继承、和封装
多态:Polymophism类中具有相似功能的不同方法用同一个方法名定义从而使用相同的方式调用具有不同功能的同名方法。包括重载和覆盖。
继承:Inheritance一个类成为另一个类的子类,子类继承父类的所有特性,并且可以扩展出自已的特征。实现代码的重用。
封装:Encapsulation把对象的属性和对行为结合在一起,形成一个不可分割的独立单位,并且尽可能隐藏对象内部结构。避免数据成员被不正当的存取,以达到信息隐藏的效果,避免错误的存取发生。
重载(overload):方法名相同,但是参数列表不同。返回类型不能作为区分的依据,区分依据只有:参数个数、参数类型。
覆盖(override):子类和父类存在相同的方法名、参数列表、返回类型,在使用子类的方法时即覆盖了父类方法
理解类和对象
类:就是对现实生活中事物的描述。仅定义属性和行为,是模板和图纸。
对象:就是这类事物,实实在在存在个体。具有确定的属性和行为
•对象Object
•状态 (属性)
•行为 (方法)
•状态保存在变量中,行为使用方法实现
•对象之间使用消息进行信息的传递
•类Class:具有相同属性和行为的对象的集合。
•包Package:一组相关的类和接口的集合称为包。
类和对象的关系
类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。
类的创建和声明
类的实现包括两部分:类声明和类体。基本格式为:
class 类名
{
成员变量声明;public公共的、private私有的、protected受保护的
类体的内容: 成员方法声明;
}
成员变量和局部变量
作用范围:成员变量作用于整个类中;局部变量作用于函数中,或者语句中。
在内存中的位置:成员变量在堆内存中,因为对象的存在,才在内存中存在;局部变量存在栈内存中。
例如:用 class 关键字定义一个类
class Person {
//成员变量定义
private int id;
private int age = 20;
//方法定义
public int getAge() {return age;}
public void setAge(int i) {age = i;}
public int getId() {return id;}
}
类的定义主要由两方面组成 —>成员变量和方法
父类:被继承的类,又称超类/基类。
子类:继承了父类的类,又称派生类。
定义对象的方法
创建一个对象包括对象的声明和为对象分配内存两个步骤。
1.声明对象
Student s1; // 声明一个Student类 的对象s1
2.对象的初始化
s1 = new Student( ); // 使用new关键字创建对象s1,为对象分配内存空间
常用格式:
Student s1 = new Student();
对象的使用
对象被创建后,可以通过使用对象变量和“.”运算符,来实现对自己变量的访问。
相关文章推荐
- 黑马程序员—继承
- 黑马程序员学习日记 overload与override的区别
- 工作面试经历
- 黑马程序员学习日记 Java基础知识精华
- 面试题28:字符串的排列
- 概率---面试题
- 面试题24:二叉搜索树的后序遍历序列
- 黑马程序员-java基础-常用的类以及它的方法
- 黑马程序员-java基础-集合
- 黑马程序员---泛型,Collections,Arrays
- 黑马程序员——java基础---面向对象
- 面试题23:从上往下打印二叉树
- 面试
- 面试题22:栈的压入、弹出序列
- 【黑马程序员】Java学习笔记之继承(二)(面向对象)
- 最近开始码农
- iOS经典面试题(转)
- 黑马程序员——java基础---流程控制、函数、数组
- 黑马程序员--java基础学习笔记4
- 做好这五点,变身职场达人