您的位置:首页 > 编程语言 > Java开发

JAVA中OOP多态问题

2017-08-01 21:19 232 查看
1、多态是什么,多态的前提条件是什么?

多态:同一个对象(事物),在不同的时刻体现出来不同的状态

前提条件: A:要有继承关系 

B:要有方法重写 

其实没有也是可以的,但是如果没有这个就没有意义。 

动物 d = new 猫(); 

d.show(); 

动物 d = new 狗(); 

d.show(); 

C:要有父类引用指向子类的对象。 

父 f = new 子(); 

2、多态中成员访问的特点分别是什么?

成员变量: 编译看左边,运行看左边

成员方法(非静态方法): 编译看左边,运行看右边(由于成员方法存在重写,所以它运行看右边)

静态方法:编译看左边,运行看左边。 

            (静态与类相关,算不上重写。所以,访问的还是左边的)

3、什么是接口,它的特点是什么?

接口:接口就是一些方法特征的集合------接口是对抽象的抽象

特点: 1、

  

       2、,没有方法体,不能被实例化

  

   3、Java接口中只能包含public,static,final类型的成员变量和public,abstract类型的成员方法

  

   4、接口中没有构造方法,不能被实例化5、一个接口不能实现(implements)另一个接口,但它可以继承多个其它的接口

  

   6、Java接口必须通过类来实现它的抽象方法

  

   7、当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象类

  

   8、不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例

  

   9、一个类只能继承一个直接的父类,但可以实现多个接口,间接的实现了多继承.

4、接口的成员特点有哪些?

成员变量:只能是常量,并且是静态的。 

                默认修饰符:public static final 

                建议:自已手动给出。 

        构造方法:接口是没有构造方法的 

        成员方法:只能是抽象方法 

                默认修饰符:public abstract 

                建议:自已手动给出 

         

所有类都默认继承自一个类:Object。 

类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。 

5、抽象类和接口的区别是什么?

1.抽象类 和 接口 都是用来抽象具体对象的. 但是接口的抽象级别最高

2.抽象类可以有具体的方法 和属性,  接口只能有抽象方法和不可变常量

3.抽象类主要用来抽象类别,接口主要用来抽象功能.

4、抽象类中,且不包含任何实现,派生类必须覆盖它们。接口中所有方法都必须是未实现的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: