在java中main函数如何调用外部非static方法

网友投稿 240 2023-02-14

在java中main函数如何调用外部非static方法

使用外部方法时(不管是static还是非static),都要先new一个对象,才能使用该对象的方法。

举例如下:

测试函数(这是错误的):

public class Test {

public static void main(String[] args) {

Employee employee = 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一个对象,才能使用该对象的方法。

public class Test {

public static void main(String[] args) {

Employee employee = new Employee();

employee.setName("旺旺");

employee.setEmail("ww@qq.com");

employee.setPwd("123333");

System.out.println(employee.getName()+" "+employee.getEmail()+" "+employee.getPwd());

}

}

public class Employee{

private Integer id;

private String name;

private String pwd;

private String email;

public Employee() {

}

public Integer gQzNgRijmietId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPwd() {

return pwd;

}

public void setPwd(String pwd) {

this.pwd = pwd;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

}

补充知识:java中static方法与非static方法之间的调用关系

java中static方法与非static方法之间的调用关系,

有以下四种:

1、非static方法调用非static方法,直接通过方法名调用

2、static方法调用static方法,直接通过方法名调用

3、非static方法调用static方法,直接通过方法名调用

4、static方法调用非static方法,通过类对象来调用

示例如下:

package com.chendi.objectNav;

public class MainClass {

public static void main(String[] args){

Circle circle = new Circle();

Line line = new Line();

//静态方法调用静态方法

doSomeThing(circle);

doSomeThing(line);

//静态方法调用非静态方法

MainClass mainClass = new MainClass();

mainClass.noStatic();

}

public void noStatic(){

//非静态方法调用非静态方法

test1();

//非静态方法调用静态方法

test2();

}

public void test1(){

System.out.print("1");

}

public static void test2(){

System.out.print("2");

}

public static void doSomeThing(Shape shape){

shape.erase();

}

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Mybatis分页PageHelper插件代码实例
下一篇:Java实现简单的socket通信教程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~