在java中main函數(shù)如何調(diào)用外部非static方法
使用外部方法時(shí)(不管是static還是非static),都要先new一個(gè)對(duì)象,才能使用該對(duì)象的方法。
舉例如下:
測(cè)試函數(shù)(這是錯(cuò)誤的):
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)會(huì)為其分配固定的內(nèi)存。如果所有方法都這樣做,系統(tǒng)不崩潰了。
正確的做法:
使用外部非static方法時(shí),要先new一個(gè)對(duì)象,才能使用該對(duì)象的方法。
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; } }
補(bǔ)充知識(shí):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方法,通過類對(duì)象來調(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方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java UrlRewriter偽靜態(tài)技術(shù)運(yùn)用深入分析
通常我們?yōu)榱烁玫木徑夥?wù)器壓力,和增強(qiáng)搜索引擎的友好面,都將文章內(nèi)容生成靜態(tài)頁面,這就產(chǎn)生了偽靜態(tài)技術(shù),也就是我們常說的Url Rewriter重寫技術(shù)2012-12-12Java設(shè)計(jì)模式——工廠設(shè)計(jì)模式詳解
這篇文章主要介紹了Java設(shè)計(jì)模式——工廠設(shè)計(jì)模式詳解,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11簡(jiǎn)單分析Java線程編程中ThreadLocal類的使用
這篇文章主要介紹了Java線程編程中ThreadLocal類的使用,包括使用其對(duì)共享變量的操作的分析,需要的朋友可以參考下2015-12-12Ajax實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了jQuery ajax實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能幫助到你2021-07-07