java中错误提示:Multiple markers at this line 为什么?
错误提示:Multiplemarkersatthisline-ThefinalfieldA.scannotbeassigned-ThestaticfieldA.sshou...
错误提示:Multiple markers at this line
- The final field A.s cannot be assigned
- The static field A.s should be accessed in a
static way
interface A{
// public static final String s = "武汉理工大学" ;
String s = "武汉理工大学"; // 全局常量
// public abstract void M1() ;
void M1() ; // 抽象方法
public void M2() ; // 抽象方法
}
class B implements A{ // 子类B实现了接口A
public void M1(){ // 实现抽象方法
System.out.println("HELLO WORLD!!!") ;
}
public void M2(){
System.out.println(s); // 输出全局常量
}
};
public class Interfacesample2{
public static void main(String args[]){
B b = new B() ;
b.s="清华大学"; //这句话出错!
b.M1() ;
b.M2() ;
}
}; 展开
- The final field A.s cannot be assigned
- The static field A.s should be accessed in a
static way
interface A{
// public static final String s = "武汉理工大学" ;
String s = "武汉理工大学"; // 全局常量
// public abstract void M1() ;
void M1() ; // 抽象方法
public void M2() ; // 抽象方法
}
class B implements A{ // 子类B实现了接口A
public void M1(){ // 实现抽象方法
System.out.println("HELLO WORLD!!!") ;
}
public void M2(){
System.out.println(s); // 输出全局常量
}
};
public class Interfacesample2{
public static void main(String args[]){
B b = new B() ;
b.s="清华大学"; //这句话出错!
b.M1() ;
b.M2() ;
}
}; 展开
2个回答
推荐于2017-09-24
展开全部
在接口中定义的这样的都是常量(static final修饰的变量都是常量),只要初始化了都不可以再改变,即不可以再重新赋值,即使在你的实现类里面,也不可以去改变他的值
你这里初始化值为空字符串,所以不能在重新赋值了,可以修改成下面的
package util;
interface A{
// public static final String s = "武汉理工大学" ;
StringBuffer s =new StringBuffer("武汉理工大学"); // 全局常量
// public abstract void M1() ;
void M1() ; // 抽象方法
public void M2() ; // 抽象方法
}
class B implements A{ // 子类B实现了接口A
public void M1(){ // 实现抽象方法
System.out.println("HELLO WORLD!!!") ;
}
public void M2(){
System.out.println(s); // 输出全局常量
}
};
public class Interfacesample2{
public static void main(String args[]){
B b = new B() ;
//A.s="清华大学"; //这句话出错!
A.s.append("222");
b.M1() ;
b.M2() ;
}
};
你这里初始化值为空字符串,所以不能在重新赋值了,可以修改成下面的
package util;
interface A{
// public static final String s = "武汉理工大学" ;
StringBuffer s =new StringBuffer("武汉理工大学"); // 全局常量
// public abstract void M1() ;
void M1() ; // 抽象方法
public void M2() ; // 抽象方法
}
class B implements A{ // 子类B实现了接口A
public void M1(){ // 实现抽象方法
System.out.println("HELLO WORLD!!!") ;
}
public void M2(){
System.out.println(s); // 输出全局常量
}
};
public class Interfacesample2{
public static void main(String args[]){
B b = new B() ;
//A.s="清华大学"; //这句话出错!
A.s.append("222");
b.M1() ;
b.M2() ;
}
};
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询