构造函数

旧时模样 提交于 2020-03-10 09:51:43

构造函数的一些知识点

1.在Java中,下列对于构造函数的描述正确的是?
A.类必须显示已定义构造函数.
B.构造函数的返回值是void.
C.构造函数和类具有相同的名称,并且不能带任何参数.
D.一个类可以定义多个构造函数.
答案:D
解析:A: 无参构造函数可以不显示。
B: 构造函数没有任何返回值类型,即使是void类型也没有。
C: 有参构造函数可以携带参数。
构造函数在创建类对象的时候被自动调用

Java中的所有异常都继承自Throwable
Throwable:被用来表示任何可以作为异常被抛出的类。有两个重要的子类Exception和Error。二者都是Java异常处理的重要子类,并且二者也包含许多重要的子类。
Error:该类层次结构描述了Java运行时系统内部错误和资源耗尽错误,总之是与Java虚拟机有关的运行错误。也是应用程序无法处理的。这些错误是不可查的,因为它们在应用程序的控制和处理能力之 外,而且绝大多数是程序运行时不允许出现的状况。对于设计合理的应用程序来说,即使确实发生了错误,本质上也不应该试图去处理它所引起的异常状况。在 Java中,错误通过Error的子类描述。一般不需要你关心。
Exception: 是程序本身可以处理的异常,是需要程序员关心的异常类。
Java中的异常又可分为可检查异常(checked exceptions)和不可检查异常(uncheckedexceptions)。
可检查异常:编译器要求必须处理的异常。在Exception类及其子类中,除了RuntimeException类及其子类外,其余都是可检查异常。这种异常编译器会强制要求处理它,需要使用try-catch语句去捕获处理或者使用trhrow子句抛出该异常让其他地方去处理它,否则编译器会不允许编译通过。
不可检查异常:编译器不强制要求处理的异常。该异常分来包括:运行时异常(RuntimeException)及其子类和错误(Error)及其子类。这种异常即使不使用try-catch子句捕获和throw子句抛出,编译器也会使得编译通过。

2.在使用super和this关键字时,以下描述正确的是?
A.在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过。
B.super()和this()不一定要放在构造方法内第一行。
C.this()和super()可以同时出现在一个构造函数中。
D.this()和super()可以在static环境中使用,包括static方法和static代码块.
答案:A
解析:每个子类构造方法的第一条语句,都是隐含地调用super(),所以不写的话会默认调用,写了super()方法的话必须放在第一行,否则编译不会通过。

  1. final static interface MyInterface implements java.io.Serializable {
    static String AAA;
    void aaa();
    private void bbb();
    static void ccc();
    abstract void ddd(int t);
    }

答案: ⑴final关键字不可以修饰接口.
⑵static关键字不可以修饰接口.
⑶String AAA需要初始化值.
⑷private void bbb()接口中的私有方法需要有方法体.
⑸static void ccc()接口总的静态方法需要有方法体.
⑹接口不可以实现接口,只可以继承.

  1. 下列叙述语句哪一个是正确的?
    1.Abstract修饰符可修饰字段、类和方法;
    Abstract不能修饰字段(在抽象类中)
    2.抽象方法(Abstract)的body部分必须使用一对{};
    抽象类中的抽象方法不能使用大括号({}),否则或报错(编译错误)

5.Java接口的修饰符可以为?
A.private
B.protected
C.final
D.abstract
答案:D
解析:接口的修饰符可以是public或abstract,其他的均不可以。

6.抽象的方法是否可同时是静态的?
答案:不可以。
抽象的方法是需要子类去重写的。而静态的方法是无法重写的。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!