在java中main函數(shù)如何調(diào)用外部非static方法
使用外部方法時(不管是static還是非static),都要先new一個對象,才能使用該對象的方法。
舉例如下:
測試函數(shù)(這是錯誤的):
public class Test {
public static void main(String[] args) {
Employee employee = null;
employee.setName("旺旺"); //有警告,況且這里也執(zhí)行不下去
employee.setEmail("ww@qq.com");
employee.setPwd("123333");
System.out.println(employee.getName()+" "+employee.getEmail()+" "+employee.getPwd());
}
}
雖然,把Employee類中的方法都寫成static,main函數(shù)就可以調(diào)用了。但都知道,static類型在程序執(zhí)行前,系統(tǒng)會為其分配固定的內(nèi)存。如果所有方法都這樣做,系統(tǒng)不崩潰了。
正確的做法:
使用外部非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方法之間的調(diào)用關(guān)系
java中static方法與非static方法之間的調(diào)用關(guān)系,
有以下四種:
1、非static方法調(diào)用非static方法,直接通過方法名調(diào)用
2、static方法調(diào)用static方法,直接通過方法名調(diào)用
3、非static方法調(diào)用static方法,直接通過方法名調(diào)用
4、static方法調(diào)用非static方法,通過類對象來調(diào)用
示例如下:
package com.chendi.objectNav;
public class MainClass {
public static void main(String[] args){
Circle circle = new Circle();
Line line = new Line();
//靜態(tài)方法調(diào)用靜態(tài)方法
doSomeThing(circle);
doSomeThing(line);
//靜態(tài)方法調(diào)用非靜態(tài)方法
MainClass mainClass = new MainClass();
mainClass.noStatic();
}
public void noStatic(){
//非靜態(tài)方法調(diào)用非靜態(tài)方法
test1();
//非靜態(tài)方法調(diào)用靜態(tài)方法
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函數(shù)如何調(diào)用外部非static方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java利用StringBuffer替換特殊字符的方法實現(xiàn)
這篇文章主要介紹了Java利用StringBuffer替換特殊字符的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
一篇文章帶你了解一些Java反射的學(xué)習(xí)記錄
java反射機制是一個很好用的東西,用它可以解決很多死的東西,因為反射機制的靈活行很大,有了他,我們就不要花太多的時間來寫操做數(shù)據(jù)庫的代碼了,這個可以很大的減少開發(fā)時間,而且代碼的可讀性好2021-09-09
Java超詳細(xì)教你寫一個銀行存款系統(tǒng)案例
這篇文章主要介紹了怎么用Java來寫一個銀行的存款系統(tǒng),銀行存款主要有賬號和存款金額兩個屬性,感興趣的朋友跟隨文章往下看看吧2022-03-03

