在java中main函式如何呼叫外部非static方法
阿新 • • 發佈:2020-12-09
使用外部方法時(不管是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方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。