贴下如下代码:
package test;
interface aa{
public static int EASY=3;
void dd(int x);
}
public class test implements aa{
public static void main(String[] args) {
int x=5+EASY;//正常
new test().dd(++x);
}
public void dd(int x) {
// TODO Auto-generated method stub
x+=aa.EASY+++x;//报错,要去掉final
System.out.println(x);
}
}在主函数引用接口常量正常,为什么在普通方法调用不行,叫我去掉final,某些基础知识点忘记了,忘高手解答!
package test;
interface aa{
public static int EASY=3;
void dd(int x);
}
public class test implements aa{
public static void main(String[] args) {
int x=5+EASY;//正常
new test().dd(++x);
}
public void dd(int x) {
// TODO Auto-generated method stub
x+=aa.EASY+++x;//报错,要去掉final
System.out.println(x);
}
}在主函数引用接口常量正常,为什么在普通方法调用不行,叫我去掉final,某些基础知识点忘记了,忘高手解答!
等价于
x+=(aa.EASY++)+x;
比如这个“x+=aa.EASY+++x;”
你要记着,不管是否是一个人开发的软件,看你代码最多的人,总归是你自己。
x = x + aa.EASY + (++x);//这里我也不知道写得是否正确,不过我习惯这么写。
不知道你啥意思,我自己写得也不好。
好的代码是让自己几个月后再看,不需要解释都能一眼看出写的啥东西。
……
……
……
写程序不是去考试,许多中国人脑子太僵化,非要给自己增加难度,也给别人增加难度。
比如,明明学计算机语言,非夹杂许多高深的数学题,其实不是那么回事,很多数学题根本就没什么用。
……
再比如这一句,你写的啥东西啊。
……
……
……
我看了半天,不知道你想表达啥,累死人了,不能写得简单明了一点吗?
如果写成
dd(x);
x++;
是不是更好一点呢?
非要给自己增加复杂度。
是说这里加了final报错么
对数据进行隐式修饰:public static final
对方法进行隐式修饰:public abstract