声明时出错&;在java中将字符串初始化为静态
我试图将局部字符串变量声明并初始化为static,但出现编译错误,显示非法修饰符static。为什么会这样 这是我的密码:声明时出错&;在java中将字符串初始化为静态,java,string,exception,Java,String,Exception,我试图将局部字符串变量声明并初始化为static,但出现编译错误,显示非法修饰符static。为什么会这样 这是我的密码: public class StringInstance { public static void main(String[] args) { static String s = "a"; if(s instanceof String){ System.out.println("Yes it is"); } } } 您
public class StringInstance {
public static void main(String[] args) {
static String s = "a";
if(s instanceof String){
System.out.println("Yes it is");
}
}
}
您声明的字符串将是静态的,因为它的作用域是静态的,所以不需要
static
修饰符。但是,如果您想在main()
的范围之外声明它为静态的,那么可以这样做:
public class StringInstance {
static String s = "a";
public static void main(String[] args) {
if(s instanceof String){
System.out.println("Yes it is");
}
}
}
您声明的字符串将是静态的,因为它的作用域是静态的,所以不需要
static
修饰符。但是,如果您想在main()
的范围之外声明它为静态的,那么可以这样做:
public class StringInstance {
static String s = "a";
public static void main(String[] args) {
if(s instanceof String){
System.out.println("Yes it is");
}
}
}
static
仅适用于类成员。您不能在方法中声明static
变量。@faizalvasaya,因为错误表明方法中不能有static字段。那没有道理。您需要删除静态修饰符。static
表示类级别。您必须在类级别声明它们。static
仅适用于类成员。您不能在方法中声明static
变量。@faizalvasaya,因为错误表明方法中不能有static字段。那没有道理。您需要删除静态修饰符。static
表示类级别。您必须在类级别声明它们。我的疑问是,由于main是一个静态块,所以应该可以在其中声明为静态。@faizalvasaya它已经是静态的,没有显式的static
修饰符,因为它在静态范围内。谢谢@Jonah Haney!您澄清了我的疑问。我的疑问是,因为main是一个静态块,所以应该可以在其中声明为静态。@faizalvasaya它已经是静态的,没有显式的static
修饰符,因为它在静态范围内。谢谢@Jonah Haney!你澄清了我的疑问。