求助郭天祥十天单片机 十天征服单片机

JAVA简答题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
JAVA简答题
上传于|0|0|文档简介
&&java面试简答题
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢Java面向对象的特性和跨平台性 - 博客频道 - CSDN.NET
大泡泡的专栏
分类:Java面试
一、Java面向对象的三大特性:
Java语言的三大特性为:封装、继承、多态
封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,
同时也保护了数据。对外界而言它的内部细节是隐藏的,暴露给外界的只是它的访问方法。
属性可以用来描述同一类事物的特征,方法可以描述一类事物的操作。封装就是把属于同一类事物的共性(即属性和方法等)归为一个类中,以方便使用。
- 概念: 封装也叫作信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能的隐藏内部的细节,只保留一些岁外接口,使之与外不发生联系。 系统的其他部分只有通过包裹在数据外面的被授权的操作与这个抽象数据类型交流与交互。也就是说,用户无需知道对象内部方法的实现细节,但可以根据对象提供的外部接口(对象名和参数)来访问该对象。
-好处: a. 实现了专业的分工。将能实现某一特定的代码封装成一个独立的实体后,各程序猿可以在需要的时候来进行调用,实现了专业的分工;
b. 隐藏信息,实现细节。 通过控制访问权限可以将不想让客户端开发人员看到的信息隐藏起来,如某客户的银行密码需要保密,只能对该客户开放权限。
就是个性对共性的属性和方法的接受,并加入个性特有的属性和方法。
- 概念:一个类继承另一个类,则称继承的类为子类,被继承的类为父类。
- 目的: 实现代码的复用
- 理解: 子类和父类的关系并不是日常生活中的父子关系,子类与父类而是一种特殊化与一般化的关系,是 is-a的关系,子类是父类更加详细的分类。如Class Dog extends Animal,既可以理解为dog is a animal。
在设计继承的时候,若要某个类能够继承,父类需要适当的开放权限,遵循里氏代换原则,即向修改关闭对扩展开放,也就是“开-闭”原则
- 结果: 继承后子类就自动拥有了父类的属性和方法,但特别注意的是,父类的私有属性和构造方法不能被继承。 另外子类可以写自己特有的属性和方法,目的就是实现对父类功能的拓展,子类也可以复写父类的方法,即方法的重写。
只有在运行的时候才会知道引用变量所指向的具体实例对象是哪个。
- 概念:相同的事物,调用其相同的方法,参数也相同时,但表现的行为却不同。
- 理解:子类以父类的身份出现,但做事情时还是以自己的方法来实现。 子类以父类的身份出现 需要向上转型(upcast),其中向上转型是由JVM自动实现的,是安全的,但向下转型(down cast )是不安全的,需要强制转换。子类以父类的身份出现时自己特有的属性和方法将不能使用。
所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定的,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在程序运行期间才能确定。
因为在程序运行时才确定的类,这样不用修改源程序代码就可以让引用变量绑定到各种不同的类实现上,从而导致调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。
java具有多态性的三个条件: 继承、重写和向上转型
二、为什么说Java是跨平台性语言?C和C++为什么不是?:
Java是跨平台的,因为Java并不直接编译为机器语言,而是先编译为中间语言。在各平台上的Java虚拟机,可以对中间语言解释执行,所以说它是跨平台的。
然而C和C++,是直接编译成机器语言(机器码)的,这种语言在不同的机器上有不同的格式,同一个C++程序,由它所编译成的执行文件往往不能在另一个平台的机器上运行。至于C++作为主流的变成语言,它直接写出的是源程序,源程序是不可以直接执行的,就像我们买一个软件产品时, 是买它的可执行代码,而不是买它的源程序,比如:我们买一个游戏,应该是直接能够玩的,厂家给我们源代码,大部分的买家是看不懂的。
排名:千里之外
(1)(5)(3)(11)(2)(39)(13)(0)(3)(7)(1)(0)(10)(1)(13)(1)(1)

我要回帖

更多关于 单片机十天征服你 的文章

 

随机推荐