在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)用關系
java中static方法與非static方法之間的調(diào)用關系,
有以下四種:
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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java利用StringBuffer替換特殊字符的方法實現(xiàn)
這篇文章主要介紹了Java利用StringBuffer替換特殊字符的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04

