- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
09面向对象三大特征.doc
面向对象的编程思想
一切皆是对象?类
特征 属性
行为 方法
构造
java中所有的参数的传递,都是值传递.
基本类型:不是变量,是值
引用类型:不是变量指针,是引用(地址)
创建对象过程
申请内存空间(包括属性)
执行默认初始化
执行显示初始化
执行构造的代码
面向对象的三大特征:封装/继承/多态
继承的好处:
代码复用(子类复用父类代码)
支持多态.
使用继承的前提条件:
在逻辑关系上,必须 子类 is a 父类,否则不能使用继承.
类与类之间的基继承,用 extends 关键字.
public class 子类 extends 父类{};
一个子类只能有一个直接父类
所有类的根是对象类(java.lang.Object)
如果没有写extends,默认继承Object
属性/非私有方法 可以继承过来
构造不能继承,私有方法继承不过来.
在构造子类对象时,会调用父类的构造,可以默认调用,也可以显示调用默认调用父类无参构造.
如果父类继承的方法不满足子类的需要(不合适),可以对父类的方法进行重写(覆盖).
重写原则:
方法名相同/参数必须相同/返回类型相同(5.0以后可以返回子类类型)
访问权限不能变小
抛出异常不能变大
基本类型的多态
double d =2.0;
double d=2;
基本类型的自动类型转换
方法多态
重写/重载
接口/类多态
Pet p = new Cat();
pet p = new Pet(); //没有发生多态
Pet p = new Dog();
Pet p = new Object();//错误!!!!!
父类的引用可以指向本类或者子类的对象.
Pet P = new Cat();//多态
拿子类对象当父类用
只能使用父类中定义过的属性和方法,子类扩展的属性和方法不能直接使用.
如果子类对方法进行重写,调用重写后的方法(非静态方法);
如果想使用子类中定义属性和方法,需要强制类型转换
引用类型的类型转换
必须发生在父子类之间:子类可以自动转换成父类(向上造型)父类可以强制转换成子类(向下造型).引用类型的强制类型转换,必须保证是还原,否则会引发类型转换异常
对象/引用的类型用instanceof 判断
多态可以用于参数和返回类型的设计:
public void print(Object obj){
………………….
}
作业:
总结面向对象的概念:
类/对象/属性/方法/构造/封装/继承/多态/方法重写/重载/this和super的用法.
编程:
完成MyDate,月份需要[1,12].日需要判断月份和闰年.
1 3 5 7 8 10 12 31天
4 6 9 11 30天
2月 闰年29天,平年28天.
判断闰年条件:
能被4整除并且不能被100整除的.
能被400整除的也是.
写一个点Point类,包括横坐标/纵坐标.要求提供计算任意两点距离的方法Math.sqrt(double)开平方.
写一个圆类,包括圆心和半径.提供计算周长和面积的办法.
写一个公司的员工管理系统模块,
包括 行政(name/id/sal/car)/技术(name/id/sal/project/项目提成)/管理(name/id/sal/position/分红),
然后写一个EmpUtil类,提供方法:开除员工/计算收入/
涉及到的知识:除了重载,应该都用到,所有类必须封装.
文档评论(0)