在java中main函数如何调用外部非static方法
使用外部方法时(不管是static还是非static),都要先new一个对象,才能使用该对象的方法。
举例如下:
测试函数(这是错误的):
publicclassTest{
publicstaticvoidmain(String[]args){
Employeeemployee=null;
employee.setName("旺旺");//有警告,况且这里也执行不下去
employee.setEmail("ww@qq.com");
employee.setPwd("123333");
System.out.println(employee.getName()+""+employee.getEmail()+""+employee.getPwd());
}
}
虽然,把Employee类中的方法都写成static,main函数就可以调用了。但都知道,static类型在程序执行前,系统会为其分配固定的内存。如果所有方法都这样做,系统不崩溃了。
正确的做法:
使用外部非static方法时,要先new一个对象,才能使用该对象的方法。
publicclassTest{
publicstaticvoidmain(String[]args){
Employeeemployee=newEmployee();
employee.setName("旺旺");
employee.setEmail("ww@qq.com");
employee.setPwd("123333");
System.out.println(employee.getName()+""+employee.getEmail()+""+employee.getPwd());
}
}
publicclassEmployee{
privateIntegerid;
privateStringname;
privateStringpwd;
privateStringemail;
publicEmployee(){
}
publicIntegergetId(){
returnid;
}
publicvoidsetId(Integerid){
this.id=id;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetPwd(){
returnpwd;
}
publicvoidsetPwd(Stringpwd){
this.pwd=pwd;
}
publicStringgetEmail(){
returnemail;
}
publicvoidsetEmail(Stringemail){
this.email=email;
}
}
补充知识:java中static方法与非static方法之间的调用关系
java中static方法与非static方法之间的调用关系,
有以下四种:
1、非static方法调用非static方法,直接通过方法名调用
2、static方法调用static方法,直接通过方法名调用
3、非static方法调用static方法,直接通过方法名调用
4、static方法调用非static方法,通过类对象来调用
示例如下:
packagecom.chendi.objectNav;
publicclassMainClass{
publicstaticvoidmain(String[]args){
Circlecircle=newCircle();
Lineline=newLine();
//静态方法调用静态方法
doSomeThing(circle);
doSomeThing(line);
//静态方法调用非静态方法
MainClassmainClass=newMainClass();
mainClass.noStatic();
}
publicvoidnoStatic(){
//非静态方法调用非静态方法
test1();
//非静态方法调用静态方法
test2();
}
publicvoidtest1(){
System.out.print("1");
}
publicstaticvoidtest2(){
System.out.print("2");
}
publicstaticvoiddoSomeThing(Shapeshape){
shape.erase();
}
}
以上这篇在java中main函数如何调用外部非static方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。