Java内部类不能有静态声明的思考与解决
java练习出现的错误Test.java:30: 内部类不能有静态声明public static void main(String args[]){这是在cmd命令行窗口执行javac Test.java报出的错误信息它提示的已经很明确了,内部内不能有静态声明简单百度了一下内部内的概念,通俗的解释就是 内部类: 所谓内部类就是在一个类内部进行其他类结构的嵌套操作。那么在一个类的内部进行嵌套类就是所
java练习出现的错误
Test.java:30: 内部类不能有静态声明
public static void main(String args[]){
这是在cmd命令行窗口执行javac Test.java报出的错误信息
它提示的已经很明确了,内部内不能有静态声明
简单百度了一下内部内的概念,通俗的解释就是 内部类: 所谓内部类就是在一个类内部进行其他类结构的嵌套操作。
那么在一个类的内部进行嵌套类就是所谓的内部类,根据出错提示内部类不能有静态声明,我们就能想到static应该去掉,但是static所在的类是main方法(函数的入口)是不应该去掉的,于是该思考是不是应该把static所在的main方法移出,使其不再是内部类,那么这个问题就解决了
java程序就该多动手练习,不然没有错误经验的积累,也就不会进步
正确写法:
class Student{
private String name;
private int age;
private double cj;
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
public void setCj(double cj){
this.cj = cj;
}
public double getCj(){
return cj;
}
}
public class Test{
public static void main(String args[]){
Student s = new Student();
s.setName("菠萝吹雪");
s.setAge(20);
s.setCj(100);
System.out.println(s.getName());
System.out.println(s.getAge());
System.out.println(s.getCj());
}
}
错误写法:
class Student{
private String name;
private int age;
private double cj;
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
public void setCj(double cj){
this.cj = cj;
}
public double getCj(){
return cj;
}
public class Test{
public static void main(String args[]){
Student s = new Student();
s.setName("菠萝吹雪");
s.setAge(20);
s.setCj(100);
System.out.println(s.getName());
System.out.println(s.getAge());
System.out.println(s.getCj());
}
}
}
醒来的时候,希望自己不负大好时光,To know the unknown
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)