首页 > 试题广场 >

下列关于修饰符混用的说法,错误的是( )

[单选题]

下列关于修饰符混用的说法,错误的是( )

  • abstract不能与final并列修饰同一个类
  • abstract 类中不建议有private的成员
  • abstract 方法必须在abstract类或接口中
  • static方法中能直接处理非static的属性
b也是错的
发表于 2017-06-16 23:55:54 回复(0)
更多回答
选D
A、abstract修饰的类,不可实例化,所以需要子类去继承,然后重写其中的抽象方法。但是final修饰类是不可继承的。两者属性相冲。
B、看清楚,人家说的是不建议有,不是不能有。
C、抽象类中可以没有抽象方法,但是抽象方法必须在抽象类中或者接口中
D、static不可以修饰非static的属性,因为类加载的时候,static属性比非static先初始化,那么一个存在的总不能访问一个没有存在的吧。
发表于 2018-08-29 08:59:19 回复(9)
不管是静态方法还是静态成员,都是类级别存在的,也就是说随着类的加载而加载,优先于对象的存在,而非静态成员和方法是对象级别的存在,所以在静态方法中调用非静态的成员或方法(此时还不存在对象),是不可能的,但是反过来是可以的:非静态中调用静态。于是也就有静态方法中不能使用this和super关键字。
发表于 2018-03-07 14:08:17 回复(11)
abstract 抽象 final 常量
A、被abstract 修饰的类表示必须被其他类继承使用,而被final修饰的类,表示不能作为其他类的父类,两者矛盾。故不能同时使用
B、abstract 类里可以有private成员,但是 abstract 类是要被继承使用,也就是说该类的属性方法是要被其他类所访问使用的,如果有属性或者方法被private修饰,表示只能内部使用,两者似乎又矛盾了。故不建议有private成员
C、抽象方法只能声明在抽象类或者接口中,这个是母庸质疑的
D、类方法不能直接使用实例方法,必须实例化后,利用对象调用方法,才能处理。故D错误
发表于 2019-02-22 10:45:56 回复(1)
B也错了,抽象类中也可以有private的成员
发表于 2017-06-08 00:03:01 回复(12)
1、静态方法是属于类的,而普通方法是属于对象的。
2、属于类的静态方法可以在对象不存在的时候就能访问到,而普通方法必须先new一个对象才能用这个对象访问。当我们访问调用静态方法的时候(使用类名.静态方法名)这个时候就没有对象创建,所以普通方法是访问不到的。为了避免这种错误,所以java就不允许在静态方法中访问非静态方法。
发表于 2022-03-10 13:57:03 回复(0)
以前有幸看过一个博客:因为static修饰的方法或者成员比非static成员或者方法加载快,所以在非static成员可以通过“类名.方法名”的方式调用static成员,但static成员却不能直接调用非static成员,因为此时可能要调用的资源还没加载完成,会造成错误。
发表于 2021-04-25 10:21:46 回复(0)
B是不建议有私有属性!抽象方法中可以有私有属性!题目给的是不建议有,所以B是对的! D是不懂,main不是静态方法?
发表于 2017-06-27 10:14:09 回复(2)
static不能修饰非static属性
发表于 2022-01-04 14:24:10 回复(0)
静态的属性和方法在内存中的存放地址与非静态的是不同的,静态的是存放在static区,它意味着静态方法是没有this的,所以我们不可以从一个static方法内部发出对非static方法的调用。但是反之是可以的。
发表于 2019-07-26 21:49:41 回复(0)
选D
A、abstract修饰的类,不可实例化,所以需要子类去继承,然后重写其中的抽象方法。但是final修饰类是不可继承的。两者属性相冲。
B、看清楚,人家说的是不建议有,不是不能有。
C、抽象类中可以没有抽象方法,但是抽象方法必须在抽象类中或者接口中
D、static不可以修饰非static的属性,因为类加载的时候,static属性比非static先初始化,那么一个存在的总不能访问一个没有存在的吧。
发表于 2018-07-23 10:27:15 回复(0)
该题目选项D严格意义上也是错的。因为在非静态类中可以通过实例化对象处理非静态属性,只是不能直接调用静态属性而已。
发表于 2017-07-21 19:22:58 回复(2)
final和abstract,private和abstract,static和abstract,这些是不能放在一起的修饰符
发表于 2017-06-16 00:05:28 回复(0)
主方法不是静态方法?
发表于 2017-06-04 19:47:52 回复(0)
做了好几个这样的题,关于abstract方法和abstract类和接口,答案完全不一样,虽然知道他们之间的关系,但这样问很混淆。希望下次出题的时候统一一下口径,做的题越多越觉得题目审核有问题。
发表于 2017-05-22 15:13:17 回复(2)
A:abstract类需要子类继承来重写抽象方法,而final会使类不允许有子类 B:abstract类一般都有子类继承其抽象方法,private修饰的成员作用域只在本类中 C:没毛病 D:静态代码块在执行时会最先加载,而普通成员还没被加载,需要先加载静态成员后再加载,所以静态方法中不可以直接调用普通成员。
发表于 2023-04-04 23:14:48 回复(0)
final 和abstract可以同时修饰一个类,但是不能同时修饰一个接口,因为接口需要被实现
发表于 2022-05-09 21:34:54 回复(0)
A、abstract修饰的类,不可实例化,所以需要子类去继承,然后重写其中的抽象方法。但是final修饰类是不可继承的。两者属性相冲。 B、看清楚,人家说的是不建议有,不是不能有。 C、抽象类中可以没有抽象方法,但是抽象方法必须在抽象类中或者接口中 D、static不可以修饰非static的属性,因为类加载的时候,static属性比非static先初始化,那么一个存在的总不能访问一个没有存在的吧。
发表于 2021-11-03 20:36:54 回复(0)
为什么没有官方答案?
发表于 2018-12-02 01:54:55 回复(0)

静态方法是在类加载时,被加载进方法区的,此时还没有对象,使用非static的修饰的属性,是没有对象的。所以,不能直接调用,可以通过创建对象来调用实例属性。

发表于 2017-09-25 12:48:36 回复(0)
B应该是
不应该有private成员方法吧

D肯定错了  

发表于 2017-06-15 17:33:04 回复(1)