即使在Java程序中執行main()
之前,我也想要打印"Hello"
。有沒有辦法做到這一點?甚至在執行main()之前我要打印「Hello」
回答
你需要的是一個static
關鍵字。其中一個選項是使用靜態函數作爲靜態變量的初始值。
class Main {
public static int value = printHello();
public static int printHello() {
System.out.println("Hello");
return 0;
}
public static void main(String[] args) {
System.out.println("Main started");
}
}
value
是前main
功能執行這樣初始化的靜態變量。這個程序打印:
Hello
Main started
而且,你甚至可以通過調用printHello()
即使沒有初始化變量簡化這個喜歡在以下幾點:
static {
printHello();
}
使用一個靜態塊:
static {
System.out.println("hello");
}
public static void main(String[]args) {
System.out.println("After hello");
}
輸出:
hello
after hello
爲什麼downvote? – BackSlash
public class Test {
static {
System.out.println("Hello");
}
public static void main(String[] args) {
System.out.println("Inside Main");
}
}
輸出
Hello
Inside Main
爲什麼downvote在這裏? – arshajii
由於我寫了相同的內容並同意我的回答:+1。只是簡單和短的沒有方法 –
我認爲它的數據庫的stackoverflow故障(關於反對票) –
打印的代碼的靜態塊內的語句。靜態塊在類被加載到內存中時甚至在創建對象之前被執行。因此它將在main()方法之前執行。它只會執行一次。
除了使用靜態塊,你也可以嘗試儀表和倍美力
http://docs.oracle.com/javase/7/docs/api/java/lang/instrument/package-summary.html
這是我正在尋找的,我的應用程序,因爲我知道靜態技巧,但我想運行的東西之前,甚至。謝謝你的提示。 – Panayotis
公共類樣品{
static {
System.out.println("Hello first statement executed first ");
}
public static void main(String[] args) {
System.out.println("Main started");
}
}
這裏是另一種方式:
class One{
public One() {
System.out.println("Before main");
}
}
class Two extends One{
public Two() {
super();
}
public static void main(String[] args) {
Object abj = new Two();
System.out.println("in the main");
}
}
這裏在運行配置中,類2將是主類。
如果我在主函數中的兩個類的對象創建之前編寫打印語句,那麼這將不起作用。例如:'System.out.println(「first line」); Object abj = new Two();' –
- 1. 打印編號是甚至
- 2. 在打印之前調用線程,但在線程之前執行打印
- 3. 在main()之前執行代碼()
- 4. IOS在main()之前執行什麼?
- 5. 我甚至需要libusb嗎?
- 6. 執行main之前的分段錯誤
- 7. 程序在scanf()之後不執行gets(),甚至使用fflush(stdin)
- 8. 甚至在對列執行AutoFit()之後,Excel.Range.Text值依然爲'######'值
- 9. 在打印之前查看打印CSS
- 10. 如何在執行前打印命令?
- 11. NUnit的/單不打印堆棧跟蹤行號甚至--debug
- 12. 如何在執行time.sleep()之前讓mpi4py進程完成打印?
- 13. Java:在強制執行程序之前打印消息
- 14. 需要幫助之前,我甚至開始,其可以顯示給多人
- 15. 如何執行執行(@variable)在SSRS(或可這甚至做)
- 16. 甚至在我使用甚至委派之後,元素還沒有被刪除
- 17. 不能move_uploaded_file甚至不執行
- 18. 無法執行PHP Mysql查詢,甚至沒有打開頁面
- 19. 不需要任何庫的可執行文件,甚至libc?
- 20. 在我們重新啓動SQL服務之前保存執行計劃?這甚至可以完成?
- 21. 甚至在空字符後仍然會打印垃圾值
- 22. PHP正在返回空白頁,甚至忽略回聲/打印
- 23. 在打開表格之前要執行的全局函數
- 24. CSS - 甚至在運行時
- 25. 在main()執行之前實例化一個類的對象
- 26. 爲什麼一個類的+ load()在objc的main()之前執行?
- 27. 在.NET的Main()方法之前執行代碼
- 28. 打印前執行的掃描語句
- 29. 如果有%ld或甚至%lld,爲什麼我們要使用%d甚至%hd?
- 30. Powershell甚至無法執行設置執行策略
在包含'main'的類中使用一個靜態塊。 –
只是好奇心或一些真正的功能需求來完成? –
@Nambari完全有可能。他從未說過他根本不想主要執行。 – arshajii