在java中public void與public static void區別
static 方法可以被main方法直接調用,而非static方法不可以。
因為static方法是屬於類的,是類方法。可以通過類名.方法名直接調用。
而非static方法必須等對象被new出來以後才能使用,因而不能在main中直接調用。
public void 修飾是非靜態方法,該類方法屬於對象,在對象初始化(new Object())後才能被調用;
public static void 修飾是靜態方法,屬於類,使用類名.方法名直接調用。
Java 可以通過對象名調用靜態方法(對象名.靜態方法)。Java 中不會導致語法錯誤(syntax error),但是不推薦這樣使用,靜態方法與非靜態方法調用時應當絕對區分;而且其他 OOP 語言如 C#,Swift,Objective-C 都沒有這樣的語法。
在java中public void與public static void區別
相關推薦
Java中的繼承與靜態static等的執行先後順序的面試題
java中類的初始化及子類、父類之間的初始化順序,靜態變數、靜態方法的初始化都涵蓋了的一道面試題 面試題目如下:請寫出程式執行完成之後的結果。 Java程式碼 package extend; public class X { Y y=new Y()
java中的i++與++i有什麼區別?
剛開始接觸時,做了一些小測試,還以為這兩個沒有什麼區別。 public class OperatorDemo { public static void main(String[] args){ int a = 10; a++; System.o
【本人禿頂程式設計師】淺析JAVA中堆記憶體與棧記憶體的區別
←←←←←←←←←←←← 快!點關注!!! Java把記憶體劃分成兩種:一種是棧記憶體,一種是堆記憶體。 一、棧記憶體 存放基本型別的變數,物件的引用和方法呼叫,遵循先入後出的原則。 棧記憶體在函式中定義的“一些基本型別的變數和物件的引用變數”都在函式的棧記憶體中分配。當在一
java中氣泡排序與選擇排序的區別
初學java語言,排序演算法絕對是我們拿來實踐的好例子。而在排序中有兩種簡單的演算法是繞不開的,就是氣泡排序與選擇排序。下面來分別講解: 冒泡演算法:假設陣列長度為lenght,冒泡演算法的外迴圈為l
java中this關鍵字與super關鍵字的區別
區別點 this super 屬性訪問 訪問本類中的屬性,如果本類中沒有此屬性,則從父類中繼續查詢 訪問父類中的屬性 方法 訪問本類中的方法,如果本類中沒
java中單引號與雙引號的區別?hashcode()和equals()
單引號引的資料 是char型別的 雙引號引的資料 是String型別的 單引號只能引一個字元 而雙引號可以引0個及其以上 hashcode這個方法是用來鑑定2個物件是否相等的。 一般來講,equals這個方法是給使用者呼叫的,如果你想判斷2個物件是否相
JAVA中例項變數與類變數的區別,例項方法和類方法的區別
class TiXing{ private float up,height; private static float down; TiXing(float x,float y,float z){ up=x; height=y;
Java中shallow clone 與deep Clone的區別
Java中實現物件clone的方式是implements Cloneable interface,然後在實現類中重寫Object clone()方法.在Java中預設的是"shallow copy", 所以如果類的attribute中含有物件,並且希望實現"deep cop
在java中public void與public static void區別
sta erro ati 對象 方法 這樣的 調用 必須 靜態方法 static 方法可以被main方法直接調用,而非static方法不可以。因為static方法是屬於類的,是類方法。可以通過類名.方法名直接調用。而非static方法必須等對象被new出來以後才能使用,因而
Java中的異常處理 public static void main(String[] args) { try{ System.out.println(c
1.異常的概念 首先我們在講解異常的時候先回想一下我們以前寫過是程式碼: package com.bittech.sthrow; /** * Author:WSChase * Created:2018/11/28 */ public class Throw1 { //計算
public void與public static void區別
pub add 資源 我們 普通 link bsp 圖片 區別 我們換個簡單易懂的說法,這兩句的區別就在於,能不能直接用類名訪問。 很好理解的不是嗎? 假如,我有一個類,如下圖所示: 接下來先實例化一個對象,ca,你會發現它不僅可以訪問普通的方法,也可以訪問靜態的方法
Java中說明private,protected,public和default的區別
除了default以外,其他都是Java語言的關鍵字。default代表的是對類成員沒有進行修飾的情況。它本身也代表了一種訪問控制符。對於它們4中訪問控制符來說,它們都可以修飾類的成員(包括靜態和
Java中字節與對象之間的轉換
ring str arr cti void too trac port ear 近期公司裏面用到了消息隊列,而正如我們知道的是消息隊列之間的是通過二進制形式的。以下就分享一下java中字節與對象之間的轉換。 主要是用到了ByteArrayOutputStream和Ob
java中的類與對象
共享 泛化 不能 變量聲明 eas diag 特征 類變量 set 面向對象編程主要有三個特征:封裝、繼承和多態。 封裝 一個簡單的問題 一個能輸出圓的面積的Java應用程序。 public class ComputerCircleArea
Java中重載與重寫的區別
ref 類對象 就是 不同 3.4 做出 同方 相同 默認 簡單的個人記憶,重寫是子類中的方法與父類的方法參數、返回值一模一樣,重載是對於同一個類中的方法,方法名相同,參數類型、個數不同。當父類的引用指向子類對象的時候,子類中如果有對於父類方法的重寫,則調用的是子類重寫過的
Java中自動裝箱與拆箱詳解
sans 做的 sys 實例 代碼 而在 byte 裝箱 bsp 在講裝箱與拆箱之前我們要先了解一下這個問題的來源: Java中的類型分為基本類型(Primitive type)和類類型(Class type)兩種: 基本類型包括byte型、char型、short型
java中的equals與==
bsp 源碼 內部 brush ++ class object類 功能 length equals()與==都是java中用於進行比較的,返回boolean值,不同的是equals()是Object類中定義的一個方法,==是一個比較運算符。下面是equals()在O
java中的常量與變量學習記錄
進行 變量類型 過程 java OS 變化 邏輯 存儲 nal 常量的定義:程序運行過程中,其值不會發生變化(更準確的說是不可以發生變化)的量叫做常量。 常量的作用:簡單、直觀的描述一個東西,是變量的基礎,是程序運行的基礎。 常量分為兩大類:一類:原始值(不需要定義即可使用
java中的裝箱與拆箱
net chan import HA com 裝箱 ava art spa java中的裝箱與拆箱 ,參考這三個博客,寫的很好 1 http://www.importnew.com/15712.html 2 https://www.cnblogs.com/dol
JAVA中的BigInteger與BigDecimal類功能強大
取余 並且 log 加減乘除 value java 構造函數 () eof BigInteger類是java為了處理大數字二專門制作的類,可以處理很大的數字(理論上無限大),並且可以實現大數字的類似於int所有數學運算。對算法題來說,再也不怕出現超出int範圍的運算了! 同