1. 程式人生 > 程式設計 >在java中main函式如何呼叫外部非static方法

在java中main函式如何呼叫外部非static方法

使用外部方法時(不管是static還是非static),都要先new一個物件,才能使用該物件的方法。

舉例如下:

測試函式(這是錯誤的):

public class Test {
 
 public static void main(String[] args) {
  Employee employee = null;
  
  employee.setName("旺旺"); //有警告,況且這裡也執行不下去
  employee.setEmail("[email protected]");
  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("[email protected]");
  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中main函式如何呼叫外部非static方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。