欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2022-02-13 10:48:54|栏目:JAVA代码|点击:

使用外部方法时(不管是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 getId() {
  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();
  }
}

上一篇:Java多线程、进度条实现赛马实验的示例代码

栏    目:JAVA代码

下一篇:Java字节码增强技术知识点详解

本文标题:在java中main函数如何调用外部非static方法

本文地址:http://www.codeinn.net/misctech/193234.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有