黑马程序员——Java基础---面向对象(封装、继承、多态)
来源:互联网 发布:国家电网题库软件免费 编辑:程序博客网 时间:2024/05/21 09:37
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
一、对象
就是指的一个个实体
在生活中,实体指的就是某一个或一类实实在在存在的事物
java程序中的对象:是通过new关键字在堆内存中创建的实体
面向对象:是一种解决问题的思想,用这种思想解决问题,我们关心的是事情中
的各个实体对象;用这种思想写程序,我们关心的是需求中的功能有
没有哪个现成的类中已有函数实现了,如果有,就创建这个类的一个
实体,然后通过实体来调用该函数。
二、面向对象的特点
1、封装
2、继承
3、多态
1.封装
其实就是包装的意思,封装就是把事物中的细节给隐藏了,需要对外提供
一些可以访问这些隐藏细节的方式。
1.1好处:
a.封装隐藏了细节,可以提高程序的安全性
b.封装可以提高程序的维护性
c.提高程序的复用性
1.2封装的关键字——private
表示私有的,只能自己用,只能本类用
格式: private 类型 变量名
在java中,书写封装类时,通常是成员变量全部私有化,然后对外提
供public函数,可以让其它程序间接访问私有成员提供的public函数,通
常有两种:赋值函数(setXxxx)、取值函数(getXxxx)
2.继承
在java中,建立类与类之间的关系,需要用到关键字extends(继承)
格式:类 extends 类 {}
2.1java中继承的特点:
java只支持单一继承和多层次继承
2.2继承中构造方法的特点
在创建子类对象时,会先执行父类的构造函数,再执行子类的构造
函数原因是在构造函数中存在着隐士三步:
1.super(),调用父类的构造函数
2.显示初始化
3.执行构造代码块
2.3继承中成员的特点:
成员变量:当子父类中存在一摸一样的成员变量时,子类会优先使用
自己的成员变量在开发中,如果在父类中已经声明了某个
成员变量后,子类在继承后就可以直接使用,不需要在书
写相同的成员变量
成员方法:在子父类中存在一模一样的成员函数时,子类对象在调用
函数时,会优先使用自己的成员函数,这种方法叫做重写。
重写:发生在子父类中,方法名相同,参数列表相同,返回值类型相
同,在继承后发现父类的某些方法不适合子类本身使用后,可
以进行重写,
重写的注意事项:
1.父类中的private方法,不参与子类方法的重写
2.子类在重写父类中的方法时,必须保证重写方法的访问权限
大于或等于父类中方法的访问权限
3.父类中的静态成员方法,子类在重写后,也必须是静态的
4. 使用final修饰成员方法不能被重写
3.多态
指事物的多种表现形态,使用多态可以提高程序的扩展性,在java中,除
了可以使用对象本身的类型来描述外,还可以使用对象的父类来描述。
例如:子类Dog 对象dog 父类Animal
Dod dog = new Dog() 使用对象的本身类型描述
Animal dog = new Dog() 使用对象的父类型描述
3.1多态的前提:
1.多态必须建立在继承基础上
2.需要子类重写父类的方法
3.2使用多态的利弊:
利:多态可以提高程序的扩展性
弊:父应用不能使用子类特有的功能
3.3多态的转型:
1.类型提升 父类 父引用 = new 子类()
当想要提高程序的扩展性,并且不需要访问子类对象的特有成
员时使用
2.强制转换 子类 子引用 = (子类) 父引用
当想要访问子类对象中的特有成员时使用,需要用到关键字
instancesof,避免发生ClassCastException异常
- 黑马程序员<java基础<面向对象(封装,继承,多态,抽象)>>
- 黑马程序员----Java基础之面向对象(封装 继承 多态)
- 黑马程序员——Java基础---面向对象(封装、继承、多态)
- 黑马程序员——Java基础_面向对象之封装、继承和多态
- 黑马程序员——Java基础---深入理解面向对象(封装继承和多态)
- 黑马程序员——Java基础3 关于面向对象、封装、多态、继承,以及接口和包
- 黑马程序员—面向对象之封装、继承、多态
- 黑马程序员——OC语言基础:面向对象三大特性,封装、继承、多态
- 黑马程序员——java面向对象(封装、继承、多态)
- 黑马程序员——Java面向对象(二)之封装、继承、多态、接口等
- 黑马程序员——JAVA面向对象的特性:封装,继承,多态
- 黑马程序员---java面向对象 封装, 继承, 多态
- 黑马程序员---java基础之面向对象(一)三大特征(封装,继承,多态)
- 黑马程序员 JAVA基础<二> 面向对象之封装 继承 多态
- 黑马程序员_毕向东JAVA基础_面向对象(封装&继承&多态)
- 黑马程序员----Java基础之面向对象(封装 继承 多态)(二)
- 黑马程序员-java基础(四)-面向对象(封装、继承、多态)
- 黑马程序员——Java基础---面向对象(封装、继承、单例、抽象类、接口、内部类)
- 深入理解数据库磁盘存储(Disk Storage)
- Bellman-Ford||SPFA-POJ-2240-Arbitrage
- Jquery 入门
- SharedPreferences的用法、方法
- 随手记, C回车换行,0x0d 0x0a,WINDOWS下fgetc()一次读入,即\n,LINUX下fgetc()需要分两次读入0x0d, 0x0a
- 黑马程序员——Java基础---面向对象(封装、继承、多态)
- css进阶学习网站
- 转:C#中base关键字的几种用法
- hdu 3681 Prison Break bfs + 二分 + TSP
- 乐讯机器人高级版【版本认证20151015】
- php关于阿里云OSS简易操作类
- C/C++中函数参数传之指针形参
- [20151015]SCZ训练
- 数据本地化存储之NSUserdefaults,plist文件,归档解档,数据库sqlite(FMDB)