Java基础篇面向对象作业—01
问题一:什么是面向对象?
面向对象是一种编程思维,是相对于传统的面向过程的思维来讲的;
传统的面向过程强调的是解决问题的具体步骤,具体方法,编程思路是自顶向下,不断分解地解决问题。
面向对象更加强调解决问题的主体,谁来解决问题,创建可以解决问题的对象,来操作数据,面向对象的编程思路是自底向上,不断拼接;
面向对象的好处有很多,比如面向对象更符合人类的思维模式,可以把复杂的具体解决步骤过程简单化,可以使我们程序员从执行者变成了指挥者。
面向对象的三大特征:继承,多态,封装
例子:公司招员工做事就是面向对象的一种体现,我就是对象,boss可以指挥我来完成任务,而不是自己亲自参与解决具体的任务,从而可以大大提高任务的执行效率降低任务的复杂性。
问题二:面向对象的三大思想特征是什么?
面向对象最基础的一个特性,封装性,封装是根据需要,把代码和指令代码捆在一起,就像一个保护器,防止外界代码随意的访问,而是根据该保护器定义的接口来控制,封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细节就能直接使用它,也不用担心其他的一些副作用。
继承是指一个对象从另一个对象中获得属性的过程.它支持按层次分类的概念.例如,黑种人是人的一种,美国人有时白种人的一种,.如果不使用层次的概念,每个对象需要明确定义各自的全部特征.通过层次分类方式,一个对象只需要在它的类中定义是它成为唯一的 各个属性,然后从父类中继承它的通用属性.因此,正是由于继承机制,才使得一个对象可以成为一个通用类的一个特定实例.一个深度继承的子类将继承它在类层次中的每个祖先的所有属性。
多态是指一个方法只能有一个名称,但可以有许多形态,也就是程序中可以定义多个同名的方法,用"一个接口,多个方法"来描述.可以通过方法的参数和类型引用。多态使得对象间交互更为灵活。
问题三:什么是类,什么是对象?
类,类型,把大量相似或者类似的事物进行抽取,提炼出其共有的属性,如果动物界的动物科划分,人类的人种划分
对象,是具有共同属性的一个实体,是产生的具体的事物。
问题四:如何使用类中的成员变量和成员方法?
1.可以使用类名调用
2.可以通过创建实例对象调用
3.创建一个匿名对象调用
问题五:成员变量和局部变量的区别有哪些?
1作用域不同,成员变量又称全局变量,在整个类中生效,局部变量只在定义他的方法中生效
2.初始化情况不同,成员会给出默认的初始化值,局部变量没有默认的初始化值
3.定义的位置不同,成员变量定义在类中,局部变量定义在方法中
4,存储的位置不同,成员变量属于对象的属性和对象一起存放在堆内存中,而局部变量属于方法中的变量存放在栈内存中
问题六:什么是匿名对象?什么时候使用?
匿名对象也即没有名字的实例对象,当我们创建的对象只想使用一次时可以创建一个匿名实例对象
可以作为某个方法的实际参数
可以作为某个方法的返回值
问题七:什么是封装?封装的好处,原则分别是什么?
面向对象最基础的一个特性,封装性,封装是根据需要,把代码和指令代码捆在一起,就像一个保护器,防止外界代码随意的访问,而是根据该保护器定义的接口来控制,封装代码的好处是每个人都知道怎样访问代码,进而无需考虑实现细节就能直接使用它,也不用担心其他的一些副作用。
隐藏了事物的实现细节
提高了代码的复用性
提高了安全性
隐藏事物的属性
隐藏事物的实现细节
对外提供公共的访问方式
问题八:this的作用是什么?
表示当前类型当前对象的引用
哪个来调用this所在的方法,this就代表哪个对象
作用:用于区分局部变量和成员变量同名的情况。使用this.属性名称的一定是成员变量,没有使用this.的变量,根据就近原则来确定使用哪个变量。