2015年11月8日18:06:04
面向对象编程下
作者:数据分析玩家
1.简述抽象类的概念
抽象类是为了更好的对类加以分类,抽象类通常情况下是作为一个类族的最顶层的父类,如植物,并用最底层的类来描述现实世界中的具体的事物
11.简述接口的定义
接口与类是并列的概念
接口就是抽象方法与数值型常量的集合,接口里面只能有一些抽象方法与数值型常量,不能有普通方法,接口本质上就是一个更加严格,更加特殊的抽象类,不能在定义一个子类去继承它,即接口只能被实现,不能被继承
14.简述接口与抽象类的异同点
相同点:接口本质上就是一个更加严格的,更加特殊的抽象类
不同点:
1>接口可以近似的当做一个抽象类,但是却不是抽象类,更不是类,接口只能被一个类实现,但是抽象类却可以被一个类继承
2>接口中的方法不允许有方法体,但是抽象类中的方法却允许有方法体
3>接口可以实现多继承,但是抽象类只能实现单继承
2.简述抽象方法的概念
1>没有执行体的方法叫做抽象方法,抽象方法要求末尾必须得加分号,前面必须得加abstract进行修饰
如public abstract void fun1();
2>抽象方法通过子类的实现可以变成普通的方法
3>抽象方法不存在所谓重写的问题,却存在着实现的问题
3.简述抽象方法与抽象类之间的关系
含有抽象方法的类一定是抽象类,抽象类不一定含有抽象方法,这就是有名无实
4.简述抽象类[接口]与多态之间的关系
抽象类可以实现多态
抽象类不可以定义出类的实例对象,但是却可以定义出抽象类的引用,因为植物等只是一个概念,并没有具体的实物,抽象类可以实现多态,一个抽象类的引用可以调用子类从父类继承过来的成员,但是却不能调用子类对象所特有的成员,这恰好是多态的本质
5.简述接口与多态之间的关系
接口可以实现多态
接口不可以定义出接口的实例对象,但是却可以定义出接口的引用,一个接口的引用只能调用子类从父类继承过来的成员,但是却不能调用子类对象所特有的成员
6.简述final关键字的含义与用途
含义:最后的,最终的,表示这个事物已经很完美了,如果这个事物被某个事物继承下来,则相应的成员不能再被修改了
用途:1>用final来修饰整个类
2>用final来修饰类中的成员,即属性与方法
7.简述final修饰整个类的具体用法
若一个类的前面加上一个final,表示这个类已经很完美了,不能再定义一个子类去继承它,进行相应的修改,否则会出错
8.简述final修饰类中属性的具体用法
用final修饰过的变量叫做常变量,此时java中的final相当于c语言中的const,表示该变量必须被赋值,并且只能被赋一次值,从此以后数值不能再发生更改;因此用final来修饰类中的若干个属性表示该属性必须被赋值并且只能被赋一次值,注意默认值不算真正的赋值
注意:在一个类的普通方法内部不可以修改final修饰过的成员变量的数值
9.简述final修饰类中方法的具体用法
在一个类中,若一个方法的前面加上一个final,表示这个方法已经很完美了,虽然该方法可以被子类继承,但是不能被子类重写,否则会出错
10.在java中被final修饰过的属性如何进行初始化
被final修饰过的属性其初始化包括两种方式,且只能二选一:
1>在类中定义成员变量的同时进行初始化
2>通过类中的构造方法进行初始化(所有的构造方法都要指定)
[因为在创建完类对象之后,系统首先为该对象分配好内存空间,然后由类自动调用相应的构造函数,进行初始化]
12.简述接口用法的几个注意事项
1>接口中定义的属性必须是public static final的[数值型常量],接口中定的方法必须是public abstract的[抽象方法],这些修饰符可以省略,为默认状态,final关键字与abstract关键字不能同时修饰同一个变量
2>一个类只能实现某个接口,但是不能继承某个接口
3>java中的接口可以继承接口,并且可以实现多继承,这在一定程度上弥补了java中的类只能实现单继承带来的缺陷
4>如果一个类只实现了某个接口的部分方法,则该类必须要声明为抽象类,因为含有抽象方法的类为抽象类
如果一个类要实现某个接口中的方法,在子类方法返回值的前面必须加上public,因为方法重写权限不能更加严格
5>一个类可以在继承一个父类的同时实现一个或多个接口,但是extends关键字必须要写在implements关键字的前面
6>接口可以实现多态
7>接口相互之间不存在实现的问题,但是存在继承的问题,可以实现多继承 interface A extends B,C
13.简述接口的重要性
1>学好接口有助于学习事件模型,容器,线程等重要知识
[用一个类来实现某个接口,并将其发扬光大,通过这种方法来创建一个线程]
2>java中的接口可以实现多继承,这在一定程度上弥补了java中的类只能实现单继承带来的缺陷
3>通过接口可以实现不相关类的相同行为
如:java规定:所有可以完成自我复制功能的类必须要实现java.long.colneable接口,但该接口却是空的,没有任何内容,目的只是为了起一个标志作用
4>java提供了不同的类进行相互协作的平台
[事件模型 主板]
5>接口是我们了解一个类功能的重要途径
Java中的整个容器框架就是以接口的方法建立起来的,实现不同接口的类完成的是不同的功能
15.简述实现与重写的关系
实现在一定程度上来讲就是继承
2015年11月8日19:45:04