以下代码视为新手还没有学习this关键字,并且全部代码写在同一个名为Person.java的文件中
public class Person {//一个文件中只允许有一个public类
private String name;
private int age;//成员变量私有化
void setName(String nameParm){
name = nameParm;//set,get方法操作私有成员变量
}
String getName(){
return name;
}
void setAge(int ageParm){
age = ageParm;
}
int getAge(){
return age;
}
void speak(){
System.out.println(name + "." + age);
}//提供方法输出成员变量
public static void main(String[] args){
Person person = new Person();
person.setName("diffo");
person.setAge(30);
person.speak();//在eclipse中,非public类中的main不会当作真正的程序入口main方法执行,若代码没有这段将不能正常执行,执行情况如下图1
}
}
class DemoBean{
void main(String[] args){//在Person.java文件中eclipse并不会将它视为程序入口,即使当public class Person中没有main方法;若加static则彻底不能使用这个方法。正常执行代码如图2
Person person = new Person();
person.getName("deffo");
person.setAge(20);
person.speak();
System.out.println("666");
}
}
图1
图2
总结:首先对于eclipse,由于jvm的原因main只能以public static void 开头,存在于public类中,
并且对于每个文件只能有一个public类,对于非public类的main方法起不到函数入口的作用;
如果非public类中出现public static void main(String[] args)的方法这个方法将无法使用。
允许出现代码所示一类的main同名情况。