Java教程

java学习习题(1)

本文主要是介绍java学习习题(1),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第5章

  1. 在Java中有哪些是多态性的表现?举例说明。

方法重载,超类引用可指向子类,子类引用可指向超类

  1. 用final和abstract修饰的类各有什么特点?举例说明。

    final表示该类为该类继承链中最后一个类,该类不能有任何子类,因此不能用final修饰抽象类。

    abstract修饰的类为抽象类,表示其中可以包含抽象方法,即只给出声明,具体定义在子类实现。然而,抽象类不能实例化,即不能用new创建对象。

  2. 举例说明Object类的方法equals()的使用情况。

    equals方法可以用于比较两个对象是否相等,然而,这种比较只比较地址,不太实用,若要比较两个类内容是否相等,需要重写equals方法。

第6章

  1. Java语言中的包是什么含义,它如何使用?

    在java中,包可以看成是类的集合,在同一个包中的类可以互相访问。就比如com.company包,他表示编译后将该文件放到源文件目录下的com文件夹下的company文件夹,在company中的类可以互相访问。

    包语句在文件的第一行,若没有该语句,则默认为无名包。

  2. package语句和import语句的作用是什么?举例说明。

    package语句用于指明当前文件所在的包,如一般默认都是package com.company, 当然也可以自己更改。

    当我们在写类时,如果要使用其他包中的类成员,类方法时,就可以使用import来引入该包,如import com.company.*表示引入company下的所有类,可以将*改为具体的类名。

    如果不打算引入类,那么在程序中使用该类时就必须显示指出其包名,假如company下有一个Student类,那应该这么写 com.company.Student temp = new com.company.Student()

  3. Java语言中有几种对成员访问控制的修饰符,它们是如何使用的?

    在java中,有四种对成员访问控制的修饰符,他们及使用范围如下

    | |类中 | 包中 | 子类 | 不同包中非子类 |
    | -:- | -:- | -:- | -:- | -:- |
    | private | √ | × | × | × |
    | 缺省 | √ | √ | × | × |
    | protected | √ | √ | √ | × |
    | public | √ | √ | √ | √ |

上述四种修饰符可以修饰类,成员变量,成员方法,将修饰符放到在类,变量,方法声明语句前面,即可设置该类,变量,方法的访问范围。

  1. 接口与抽象类的主要区别在哪些方面?

    1. 接口中的方法自带属性public,abstract,接口中的变量自带属性public,static,final。

    ​ 接口中的方法均为抽象方法,而抽象类中可以有抽象方法,也可以有非抽象方法。

    ​ 接口中的变量为静态的,且不可更改,实则为一个常量,而抽象类中的变量可以更 改。

    1. 接口支持多重继承,而抽象类不支持。

    2. 接口可以拓展类的能力,使类具有处理某件事情的方法,在于有没有,不同的类可以具有相同的接口。

      而抽象类必须声明该类事物的方法,这些方法是通用的,根本的,他的子类必须有,子类的子类也必须有,该继承链上的所有类都必须有。

      就比如狗是一种抽象类的话,那么他的子类(泰迪,二哈)都必须具有狗的根本属性,四条腿,有尾巴等等。

      而接口表示一种能力,就比如接飞盘,狗可能会,猫也可能会,接飞盘并不是狗的根本能力,他只是一种可拓展的能力,并且这种能力并不局限于某种事物。

第七章

  1. throw语句和throws语句的区别有哪些?

    throw可以人为的抛出一个异常,而throws表示该函数可能抛出某些异常。

    throws出现在函数头,而throw出现在函数体。

  2. 简述嵌套异常的处理过程。

    当出现异常时,首先与最内层的try-catch-finally语句进行比较,如果不匹配,该异常可以被抛出,由外层函数处理,逐一检查匹配,直到找到匹配的为止。

catch-finally语句进行比较,如果不匹配,该异常可以被抛出,由外层函数处理,逐一检查匹配,直到找到匹配的为止。

这篇关于java学习习题(1)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!