首页 > 试题广场 >

下面有关final, finally, finalize的区

[单选题]
下面有关final, finally, finalize的区别描述错误的是?
  • 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承
  • 如果一个方法被声明为final,可以被覆盖
  • finally在异常处理时提供 finally 块来执行任何清除操作。
  • Java使用 finalize() 方法在垃圾收集器象从内存中清除出去之前做必要的清理工作
推荐
B
final关键字可用于修饰类、变量和方法。final修饰的类不能被继承,final修饰的方法不能被重写,final修饰的变量不可被修改,一旦获得初始值,该变量就不能被重新赋值。
编辑于 2015-02-03 11:14:25 回复(2)

final

修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。


finally

异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。一般异常处理块需要。

方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。 

Java中所有类都从Object类中继承finalize()方法。

当垃圾回收器(garbage colector)决定回收某对象时,就会运行该对象的finalize()方法。



发表于 2015-10-15 20:14:16 回复(2)
答案:B
final修饰的方法不能被覆盖
final修饰的字段为常量
final修饰的类不能被继承
发表于 2015-01-11 16:17:57 回复(1)
final关键字可以用于修饰类、变量和方法。final修饰的类不能被继承,修饰的方法不能被重写,修饰的变量不可以不修改,只能进行一次的赋值。
finally是用在try关键字的后面,无论是否发生异常都会执行。如果同时在try和finallly中写了返回值。最终的返回值由finally决定。
finalize()是类的终结方法。当对象要被回收的时候,如果重写了这个方法就会先执行这个方法,等待下一次垃圾回收的时候才会回收这个对象。但是期待用这个方法来作为资源管理,比如说文件关闭之类的。因为谁也不知道这个方法什么时候执行。如果内存足够的话,也许很久这个方法也不会执行。
发表于 2017-11-10 21:26:18 回复(0)
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。 
finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。 
finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。 来自:https://zhidao.baidu.com/question/71304229.html 

编辑于 2017-06-27 21:28:36 回复(1)
B
                1.final修饰变量,则等同于常量
2.final修饰方法中的参数,称为最终参数。
3.final修饰类,则类不能被继承
4.final修饰方法,则方法不能被重写。
发表于 2015-09-04 14:37:03 回复(0)
覆盖 == 重写覆盖 == 重写覆盖 == 重写覆盖 == 重写覆盖 == 重写覆盖 == 重写
发表于 2019-09-12 10:04:15 回复(0)
这是java?
发表于 2017-05-13 20:45:39 回复(0)
finally,用在try{} finally{} 
执行顺序:
try的非return语句->finally的非return语句-> try的return语句(若有的话,会忽略finally的return语句)->finally的非return语句(若try没有返回的语句)。
总的一句就是因为会执行finally,后者有return语句会直接返回了,就算try有return,那也执行不到那一段代码了
仅自己笔记记录。
编辑于 2019-08-09 20:43:25 回复(0)
java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。

这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。

finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
发表于 2019-07-02 11:15:41 回复(0)
final关键字可用于修饰类、变量和方法。final修饰的类不能被继承,final修饰的方法不能被重写,final修饰的变量不可被修改,一旦获得初始值,该变量就不能被重新赋值
发表于 2019-06-20 21:55:27 回复(0)
了解finally和finalize
发表于 2019-06-13 00:43:18 回复(0)
final修饰的方法不可覆盖
编辑于 2019-05-09 02:35:36 回复(0)
不能重写,能重载
发表于 2019-04-29 10:16:56 回复(0)
final关键字可用于修饰类,变量和方法。final修饰的类不能被继承,final修饰的方法不能被重写,final修饰的变量不可修改。

final修饰的类不能被继承,final修饰的方法不能被重写,final修饰的变量不可修改
编辑于 2019-01-21 21:25:07 回复(0)
finalize()方法是Java提供给程序员用来释放对象和资源的方法
发表于 2018-09-27 18:17:45 回复(0)
final类不能继承,方法不能重写,变量不可更改
编辑于 2018-08-14 18:14:47 回复(0)
final关键字可用于修饰类,变量和方法。final修饰的类不能被继承,final修饰的方法不能被重写,final修饰的变量不可以被修改,一旦获得初始值,该变量就不能被重新赋值;
发表于 2018-07-24 21:42:45 回复(0)
看成了正确的,一眼看到C,啊啊啊
发表于 2018-04-24 08:49:57 回复(0)
这是道Java题
发表于 2018-03-22 10:01:27 回复(0)
final修饰的方法不能被重写
发表于 2017-09-17 21:15:50 回复(0)