黑马程序员--面向对象(一)
来源:互联网 发布:淘宝上的上海大药房 编辑:程序博客网 时间:2024/05/02 01:11
------- android培训、java培训、期待与您交流! ----------
1.面向对象
面向对象是相对面向过程而言,面向对象和面向过程都是一种思想。面向过程强调的是功能行为,面向对象是将功能封装进对象,强调具备了功能的对象。面向对象的特征:封装(encapsulation),继承(inheritance),多态(polymorphism).
2.类与对象的关系
在图中,类就是图纸,汽车就是对象,对象就是该类实实在在存在的个体
匿名对象:是对象的简写形式,使用情况有两种:a.当对对象方法仅进行一次调用的时,如:new car().getName(); b.匿名对象可以作为实际参数进行传递.
3.成员变量和局部变量
成员变量:a.定义在类中,在整个类中都可以被访问
b.随着对象的建立而建立,存在于对象所在的堆内存中
c.成员变量有默认初始化值
b.随着对象的建立而建立,存在于对象所在的堆内存中
c.成员变量有默认初始化值
局部变量:1.只定义在局部范围内,如:函数内,语句内等。
2.存在于栈内存中
3.作用的范围结束,变量空间会自动释放
4.局部变量没有默认初始化值
2.存在于栈内存中
3.作用的范围结束,变量空间会自动释放
4.局部变量没有默认初始化值
4.封装
封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式
封装的优点:将变化隔离,便于使用,提高重用性和安全性.
private关键字:用于修饰成员变量和成员函数,只能在本类中访问,是java语言的最低权限,将成员变量私有化,对外提供set,get方法进行访问.
private int age;public int getA() {return this.age;}public void setA(int age) {this.age = age;}
5.构造函数
构造函数可以对对象进行初始化,其特点是:函数名必须与类名一致,不需要定义返回值类型,不需要return语句,多个构造函数是以重载的形式存在的.
6.this关键字和super关键字
super与this的区别:this可以区分本类对象中的成员变量和函数内的局部变量,而super可以区分本类对象中的成员变量和父类对象中的成员变量.访问原则:在函数中就近访问;调用本类对象的成员变量使用this,调用父类中的成员变量使用super.
7.静态关键字
static用于修饰成员变量和成员函数,不能修饰局部变量.被static修饰的成员,可以被所有的对象共享,随着类的加载而加载,可以被类名直接调用,静态成员先于对象存在于内存中.
静态的应用场景:当类中的成员变量,被所有对象共享的时候,推荐定义成静态变量;在类中,不会变化的成员变量,定义成静态,变量名都大写;当函数从不访问类中的变量时可以定义为静态函数。
注意:静态方法只能访问静态成员,静态方法中不可以写this,super关键字,主函数是静态的
8. final关键字
final是一个修饰符,被修饰的类是最终类,不在派生新的子类;被修饰的函数是最终函数,不能被覆盖;被修饰的变量就相当于一个常量,程序中固定不变的数据一般可以定为final如public final static double PI=3.14。内部类只能访问被final修饰的局部变量。
学习感悟
对于面向对象的问题,应牢记谁拥有数据谁就定义操作该数据的方法.封装提高了代码的安全性,同时需要对外提供set和get方法来访问对象.函数中有就近访问原则,调用本类成员和父类成员分别可以使用this和super关键字.当成员被所有对象共享时,需要设置成静态.
- 黑马程序员--面向对象(一)
- 黑马程序员---面向对象一
- 黑马程序员---面向对象一
- 黑马程序员--面向对象(一)
- 黑马程序员--C#面向对象(一)
- 黑马程序员—java面向对象一
- 黑马程序员 面向对象(一)
- 黑马程序员----面向对象总结一
- 黑马程序员_JAVA_面向对象(一)
- [黑马程序员]--Java语言面向对象(一)
- 黑马程序员 java面向对象(一)
- 黑马程序员-基础-面向对象一
- 黑马程序员_面向对象(一)
- 黑马程序员 Java 面向对象一
- 黑马程序员 面向对象学习笔记一
- 黑马程序员-------面向对象基础(一)
- 黑马程序员---面向对象(一)
- 黑马程序员_面向对象基础知识一
- zk event thread model
- linux find命令详解
- Android
- 使用Vitamio打造自己的Android万能播放器(12)—— 播放网络视频缓冲处理
- soj4236 && soj2750
- 黑马程序员--面向对象(一)
- Linux切换键命令及常用指令
- Android设备的识别
- android SDK 安装目录结构详解及各工具
- 关于二叉查找树的一些题目
- ffmpeg 应用(1)
- 64位ubuntu下android开发环境的配置
- android中ListView拖动时背景黑色的问题
- 别的程序员是怎么读你的简历的