在线工具 在线编程 在线白板 在线工具 在线编程 在线白板

java 自己写的内部类为什么不能够用default进行修饰?我一加就提示语法错误。

private class Cannon {
default void drawCannon(Graphics g){//这里就会有提示语法错误。
int xCore,yCore;

xCore = x + 20;
yCore = y + 20;
switch(dir) {
case UP:
xO = xCore;
yO = yCore - CANNONLEN;
break;
case RUP:
xO = xCore + (int)(CANNONLEN / 1.414);
yO = yCore - (int)(CANNONLEN / 1.414);
break;
case RIGHT:
xO = xCore + CANNONLEN;
yO = yCore;
break;
case DRIGHT:
xO = xCore + (int)(CANNONLEN / 1.414);
yO = yCore + (int)(CANNONLEN / 1.414);
break;
case DOWN:
xO = xCore;
yO = yCore + CANNONLEN;
break;
case LDOWN:
xO = xCore - (int)(CANNONLEN / 1.414);
yO = yCore + (int)(CANNONLEN / 1.414);
break;
case LEFT:
xO = xCore - CANNONLEN;
yO = yCore;
break;
case ULEFT:
xO = xCore - (int)(CANNONLEN / 1.414);
yO = yCore - (int)(CANNONLEN / 1.414);
break;
default:

break;
}
g.drawLine(xCore, yCore, xO, yO);
}
最新回答
暖妹

2025-03-27 00:57:18

没有写任何修饰符即为default

因为既然是默认的,那就没有必要再写default这个关键词了
玩贴吧的好菇凉

2025-03-27 03:57:37

default值 默认的意思, java里面默认值修饰类,就是不写。

。。。。。。。。。
夏櫻之雨

2025-03-27 00:51:47

因为java修饰符中没有default 这个词。。。要不就不写修饰符
追问
权限访问修饰符 
public,protected,default,private,这四种级别的修饰符都可以用来修饰类、方法和字段
怎么没有?
追答
不知道你在哪本书看到有 default 这个修饰符的。。。试试 default class A{}  看报不报错就知道了。
鲜奶千层雪

2025-03-27 00:26:25

你的drawCannon是个方法不是类
追问
是的是方法,不是类,可以用default但是为什么会有语法错误?
追答
default不是方法的修饰符 即使是默认修饰符的类也不要加default
追问
有些不对,类写上default也是语法错误。
追答
java类默认修饰符是不能加的 不写就是默认的 只是为了方便说明所以说有 public,protected,default,private四种表示权限的类修饰符,什么都不写就是默认的,但是默认的也不能写成default修饰的