关于修饰符混用错误的是?

            

A  不能共存,因为abstract就是要被继承的,而被final修饰的类不可能被继承,所以不可共存

     final 修饰的类/方法/属性均不可再次更改,故而不可以被重写

B  private修饰的类只可以定义在内部类;private 修饰的方法/属性只可以在类中调用,重写时是访问不到这些方法和属性的,所以不建议有

C  正确

D  不可以,静态方法只能访问静态成员。非静态既可以访问静态,又可以访问非静态。

                   static修饰的方法可以直接用类名调用。静态变量可以被对象调用,还可以被类名调用。

                   非static修饰的方法只能被对象调用,必须用类new出对象才能调用当我们用类名直接调用时,可能这个类的对象并没有new。如果这时候static方法里调用非static的方法就会出现空指针异常,当然这种错误编译时就不会通过

补充:abstract和static,static 静态的,其修饰的方法/属性,是随着类的创建而创建,类的消亡而消亡,在编译时就已经确定的东西;但是abstract是dynamic(动态)的,其必须通过类继承或接口实现来动态重写abstract方法。

转载于:https://www.cnblogs.com/12344321hh/p/7461465.html

在 Java 中,修饰符可以混用,但是有一些限制和规则需要遵守: 1. 访问修饰符只能使用一个。例如,一个方法只能被 `public`、`protected` 或 `private` 中的一个修饰符修饰。 2. 非访问修饰符可以使用多个。例如,一个方法可以被同时修饰为 `static` 和 `final`。 3. 修饰符的顺序可以任意排列,但是建议按照约定的顺序放置。例如,方法的修饰符顺序通常是 `public`、`protected` 或 `private`,然后是 `abstract`、`static`、`final` 和 `synchronized`。 4. 局部变量不能被访问修饰符修饰,只能被 `final`、`volatile` 或 `transient` 等非访问修饰符修饰。 5. 接口中的方法默认为 `public abstract`,属性默认为 `public static final`,因此这些修饰符可以省略。 下面是一个示例代码,展示了修饰符混用: ```java public class MyClass { private static final int MAX_VALUE = 100; public synchronized void doSomething() { // 方法体 } public static void main(String[] args) { final String name = "John"; volatile int count = 0; // 其他代码 } } ``` 在这个例子中,`MyClass` 类的 `doSomething()` 方法同时使用了 `public` 和 `synchronized` 修饰符,`MAX_VALUE` 属性使用了 `private`、`static` 和 `final` 修饰符,`main()` 方法中的 `name` 变量使用了 `final` 修饰符,`count` 变量使用了 `volatile` 修饰符。这些修饰符的顺序可以任意排列,但是为了代码可读性和规范性,建议按照约定的顺序放置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值