接口、抽象多态等部分试题

来源:互联网 发布:淘宝运费险退货多 编辑:程序博客网 时间:2024/05/16 15:54
值传递与引用传递的区别?所谓值传递就是把一个对象的值传给一个新的变量,但是系统会给这个新的变量开辟一个新的内存空间。不会改变原有的值所谓引用传递就是把一个对象在堆中保存的数据传递给一个变量,此时新的变量与原有的变量对应同一个内存存储空间,当新的变量修改对象        的属性时,内存中的数据也会修改。接口与抽象类的区别?1:接口里面不可以实现方法体,抽象类可以实现方法体。2:接口可以多继承接口,抽象类不可以。3:接口需要被子类实现,抽象类是要被子类继承(单一继承)。4:接口中只能有公有的方法和属性而且必须赋初始值,抽象类中可以有私有方法和属性.5: 接口中不能存在静态方法,但属性可以和final,抽象类中方法中可以有静态方法,属性也可以。谈谈继承,为什么要使用继承?所谓继承就是找出几个类中共同的部分,提取出来作为父类。而子类只需要继承父类,就可以共享父类的方法。使用继承能够减少重复的代码。方法重载的好处?所谓重载就是在一个类中可以定义多个相同的方法,但是方法的参数类型和参数的个数以及顺序要不同。重载的好处就是能够让我们很快的掌握该方法的功能,我们只要要记住该方法就能很快的理解该方法的参数以及参数的作用
抽象方法能不能是private和static修饰符?       能。
用接口有什么好处?
1:使用接口有很好的扩展性。
2:接口可以多继承接口。
3:隐藏实现。
在设计类的时候,你是怎么使用静态变量和成员变量的?     如果需要一直存在于内存当中,就选择静态变量否则就选择成员变量。定义抽象方法的意义何在?
1:为了减少重复代码。
2:抽象方法有很好的扩展性。
静态变量与成员变量的区别。
静态变量在对象加载之前初始化,而成员变量是在编译期间初始化。
静态变量可以直接通过类名点的方式进行访问,而成员变量则不行。
访问修饰符有哪几种?它们之间的区别是什么?
有四种。
前提:在一个项目中。
public可以在所有包中的所有类随意进行访问。
private只能在被当前类访问。
protected:在同一包中,或子类可以进行访问。
默认:同包下能被访问。
讲一下多态的概念。     多态就是相同的行为不同的体现方式。(比如:爱好,每个人都要自己的爱好,但是爱好都不同)子类继承父类,父类的构造方法能被继承吗?     能。子类中怎么调用父类的方法?    通过super.方法this、super的用法与区别?
this的访问当前类的属性和方法。
super是访问父类的属性和方法。
什么是构造方法?构造方法的作用?(目的、意义)
构造方法是在调用的时候被new出来的,每个类都有构造方法。
作用:为对象分配内存、初始化类变量、初始化属性、返回引用。
本数据类型和引用数据类型的区别是什么?
基本数据类型他们代表的是元素的实际值,也就是说基本数据类型是存在栈中的。
引用数据类型是元素所代表内存中所指向的一个地址,在栈中只是保存对象的地址。而对象的具体内容是保存在堆中的。
引用数据类型作为参数传递时,传递的是什么?     传递的是所指向内存中的一个地址。局部变量使用时候需要注意什么问题?     局部变量是定义在方法中。一个子类能同时继承于多个父类吗?    不能,可能出现菱形错误(比如:一个儿子,他只能有一个爸爸,但是反过来说一个爸爸就可能有多个儿子)
接口里可以定义变量吗?    可以定义变量,但必须是public,而且必须初始化.接口里方法修符是什么?    接口方法的修饰符是public.String和StringBuffer的区别?
String他的长度不可增长。
StringBuffer的长度可以增长
构造方法和方法有什么区别?构造方法能不能被重载,能不能被重写?
构造方法主要是为了调用这个类的时候用于new出这个类。
方法的作用是实现了某个功能的代码放到这个方法之中。
构造方法能被重载,不能被重写.
如果一个类实现一个接口,可不可以不实现接口里定义的所有方法?     不可以。如过不实现那就不称为接口.

0 0