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、抽象类中,且不包含任何实现,派生类必须覆盖它们。接口中所有方法都必须是未实现的。
多态:同一个对象(事物),在不同的时刻体现出来不同的状态
前提条件: 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、抽象类中,且不包含任何实现,派生类必须覆盖它们。接口中所有方法都必须是未实现的。
相关文章推荐
- 浅浅的谈 Java 多态的问题
- java in think 多态问题
- java多态-继承相关问题的探讨
- Java里面接口的多态机制问题
- Java多态中的一个小问题
- java 继承和多态 问题
- 剖析java中的多态(继承)问题
- java面试中多态的细节问题
- java创建对象详解和多态问题
- java 小结2 多态问题和容器介绍
- 【Java基础之多态中静态方法重写问题】java中静态方法的重写问题详解
- Java基础中关于多态转换异常的问题
- java学习之旅45--面向对象_18_多态_基本概念_强制转型问题_instanceof运算符
- java继承,多态方面的一个问题,定义一个父类对象,用子类new
- java继承 父类子类方法调用问题 属性和静态方法是没有多态的
- java创建对象详解和多态问题
- Java集合中的泛型与多态问题
- java中异常注意问题(发生在多态是的异常问题)
- 关于java多态的问题
- java中多态问题