首页 > 试题广场 >

Which of the following can be

[单选题]
下面哪个关键字可以用于Java的构造方法上?
  • final
  • static
  • synchronized
  • native
  • None of these.
推荐
答案:E
解析:构造方法不能被子类继承,所以用final修饰没有意义。构造方法用于创建一个新的对象,不能作为类的静态方法,所以用static修饰没有意义。此外,Java语言不支持native或synchronized的构造方法。
编辑于 2015-01-27 17:36:55 回复(10)
正确答案:E

识别合法的构造方法;
  1:构造方法可以被重载,一个构造方法可以通过this关键字调用另一个构造方法,this语句必须位于构造方法的第一行;
    重载:方法的重载(overload):重载构成的条件:方法的名称相同,但参数类型或参数个数不同,才能构成方法的重载。 

  2 当一个类中没有定义任何构造方法,Java将自动提供一个缺省构造方法;
  3 子类通过super关键字调用父类的一个构造方法;
  4 当子类的某个构造方法没有通过super关键字调用父类的构造方法,通过这个构造方法创建子类对象时,会自动先调用父类的缺省构造方法
  5 构造方法不能被static、final、synchronized、abstract、native修饰,但可以被public、private、protected修饰;
  6 构造方法不是类的成员方法;
  7 构造方法不能被继承。
编辑于 2015-04-15 14:10:02 回复(10)
  • java构造方法不能被继承(因为子类的类名变了,那自然就不能用父类的构造方法了)
  • java的构造方法只能被访问修饰符(public, private, protected)修饰
编辑于 2020-03-30 15:18:11 回复(0)
基础不牢
发表于 2018-12-17 16:17:26 回复(0)
解析:构造方法不能被子类继承,所以用final修饰没有意义。构造方法用于创建一个新的对象,不能作为类的静态方法,所以用static修饰没有意义。此外,Java语言不支持native或synchronized的构造方法。
发表于 2017-09-06 23:35:23 回复(0)
关于java中的构造方法:
1、java构造方法可以有任何访问的修饰:  public, protected, private 或者没有修饰(通常被 package   friendly 调用) . 但是 不能有以下非访问性质的修饰: abstract, final, native, static,  或者  synchronized
2、类默认提供一个无参构造方法。
2、java构造方法中的this关键字: 构造器的this指向同一个类中,用于调用同一个类中不同参数列表的另外一个构造器,必须放在第一行,否则会引起编译错误!
2、java构造方法中的super关键字:构造方法的super关键字用于调用其父类的构造方法,子类默认调用父类的构造方法,也就是说super()是默认调用的,显示调用必须放在构造方法第一行!
发表于 2015-09-05 17:51:32 回复(2)
构造方法不能被 static、final、synchronized、abstract、native修饰,但可以被 public、private、protected修饰。
发表于 2015-08-31 13:50:25 回复(0)
构造方法可重载,不可添加非默认权限访问修饰符修饰
发表于 2022-01-03 08:31:02 回复(1)
1、java构造方法可以有任何访问的修饰:  public, protected, private 或者没有修饰(通常被 package   friendly 调用) . 但是 不能有以下非访问性质的修饰: abstract, final, native, static,  或者  synchronized
2、类默认提供一个无参构造方法。
2、java构造方法中的this关键字: 构造器的this指向同一个类中,用于调用同一个类中不同参数列表的另外一个构造器,必须放在第一行,否则会引起编译错误!
2、java构造方法中的super关键字:构造方法的super关键字用于调用其父类的构造方法,子类默认调用父类的构造方法,也就是说super()是默认调用的,显示调用必须放在构造方法第一行!
发表于 2021-01-13 22:09:12 回复(0)
1.构造器不是通过继承得到的,所以没有必要把它声明为final的。 
2.同理,一个抽象的构造器将永远不会被实现。(所以也不能声明为abstract的) 
3.构造器总是关联一个对象而被调用,所以把它声明为static是没有意义的。 
4.没有实际的需要把构造器定义成同步的,因为它将会在构造的时候锁住该对象,直到所有的构造器完成它们的工作,这个构造的过程对其它线程来说,通常是不可访问的。 (synchronized) 
5.本地化的方法情况特别复杂,所以JVM调用起来非常麻烦,需要考虑很多种情况,没有native关键字的情况下,JVM实现起来比较容易。
发表于 2017-10-30 18:13:40 回复(0)
Illegal modifier for the constructor in type Test; only public, protected & private are permitted
翻译过来解释构造函数只能用public private protected 和默认的来修饰
发表于 2016-02-01 09:22:29 回复(0)
构造方法不能被这些词修饰,只能是public protected.private修饰
发表于 2015-07-19 12:44:17 回复(0)
C
发表于 2014-12-30 20:31:19 回复(0)
构造方法只能是public+类名,然后再分有参和无参。
发表于 2021-04-19 11:20:28 回复(0)
<p>构造方法不能被继承、所以采用super来调用</p>
发表于 2020-11-05 15:52:25 回复(0)
构造方法不能被static、final、synchronized、native、abstract修饰,但可以被private、public、protected修饰
发表于 2020-09-05 08:48:40 回复(0)
1. 构造方法不可以被继承。
2. 构造方法能被重载。
3. 只能被public、[default]、protected、private 访问控制符修饰,不能被final、static、native、abstract、synchronized修饰。
编辑于 2020-08-15 09:16:54 回复(0)
这道题的问题是:下列哪一项可以应用于构造函数?
首先我们知道构造函数是在new对象的时候被调用的,构造函数可以重载,访问修饰符可以变化,因为有的时候你不想外部直接去创建对象(比如单例懒汉饿汉模式),而且我们只需要记住构造函数只有:访问修饰符和方法名就可以
发表于 2020-07-28 10:14:43 回复(0)
父类的构造方法是不会被子类继承的,但是子类的构造方法中会有一个隐式的super()来调用父类中的无参数构造方法
发表于 2020-03-04 14:33:56 回复(0)
在构造方法只能被public private protected
发表于 2019-10-23 08:29:43 回复(0)
对于synchronized关键字,构造函数每次都是new一个新对象,不存在多线程共享同一变量的问题,所以不需要同步。 native是方法修饰符,native方法是由另外一种语言(如C/C++,汇编等)实现的本地方法,因为在外部实现了方法,所以在 java代码中,就不需要声明了,有点类似于接口方法。Native方法可以和其他一些修饰符连用,但是abstract方法(包含接口中的方法 )不能和native连用。 d)native,这个东西本身就和abstract冲突,他们都是方法的声明,只是一个吧方法实现移交给子类,另一个是移交给本地操作系统。如果同时出现,就相当于即把实现移交给子类,又把实现移交给本地操作系统,那就会混乱。
发表于 2017-06-04 00:04:51 回复(0)