Time of Update: 2018-12-03
在開發中,經常遇見 protected 關鍵字。特別是一些回調方法中,今天小結一下。 下面先展示一下關於Java 中存取權限的修飾符之間的關係,如所示: 做幾個測試,說明 protected 關鍵字。 1. 同一個包不同類中,可以訪問 protected 成員,無繼承關係package mark.test;public class Person {protected int height;protected void speak(Object obj) {System.out.println("
Time of Update: 2018-12-03
如果你忽略Java的細節,恐怕你的代碼會充滿bug,下面討論關於類成員初始化問題。第一類,初始化成員變數在構造方法之前主要參考TIJ中的代碼,來說明問題!!1. 建立一個類Tagpackage mark.initial;public class Tag {/** * 構造方法 * * @param maker */public Tag(int maker) {System.out.println("tag(" + maker + ")");}} 2. 建立一個類Cardpackage mark.
Time of Update: 2018-12-03
在看下面的內容之前,想問大家一個問題:finally 語句是不是一定會被執行 使用 Integer.valueOf 方法類比異常,來說明關於 try catch finally 之間的問題。樣本 1:沒有異常,正常情況public class TryCatchFinally {public static void main(String[] args) {try {System.out.println("try statement :-)");Integer.valueOf("2");}
Time of Update: 2018-12-03
希望您在看這篇部落格之前,知道Java IO技術,至少寫過IO操作的Demo!另外建議您看看: Java IO:IO流中的flush方法這篇部落格,主要使用Socket執行個體(很簡單的小例子)來引出問題,然後在探討問題。1. Socket服務端package mark.zhang;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import
Time of Update: 2018-12-03
jdk 升級之後,引入了很多新的特性,如本文所說的自動裝箱與自動拆箱。關於自動裝箱與自動拆箱,請自行查閱資料。package mark.zhang;public class MyCounter {public static void main(String[] args) {long startCountTime = System.currentTimeMillis();long result = getCounterResult();long endCountTime =
Time of Update: 2018-12-03
在正式進入主題之前,先來點“熱身”操作-成員變數的初始化!舉一個例子,如下所示:public class Animal {int weight = 10;String gender = "male";/** * constructor 1 */public Animal() {// 初始化成員變數this.weight = 12;this.gender = "female";System.out.println("---無參數的構造方法---");}/** * constructor 2
Time of Update: 2018-12-03
大家都說 Java 很簡單,的確 Java 入門不難,但是要想深入瞭解 Java 那不是一朝一夕能夠做到的!學習 Java 最重要的一點是要學習其設計思想和設計理念,比如集合架構、IO架構的設計等。通過一個執行個體談談 HashSet 與 hashCode、equals 的使用,以及在使用時的注意事項。設計一個 Person 類,如下:package mark.zhang;public class Person {private String name;private int
Time of Update: 2018-12-03
部落格好久沒有更新,自己也好久沒有寫代碼了。慚愧!最近諸事不順,算了,不說廢話了,呵呵!部落格 design principle:類比 android Button 控制項點擊事件 主要說了一下類比 android 的 Listener 模式,其實這就是一種委派與回調機制的體現。委派,也可以叫做委託,從字面上來理解的話,應該是委託其他類做事情而自己不做或者只做一部分工作;而回調,就是調用自己的方法。在 java
Time of Update: 2018-12-03
Set 集合是無序不可以重複的的、List 集合是有序可以重複的。Java 集合:HashSet 與 hashCode、equals 部落格裡面已經說到這個問題,但是解釋的還是不夠清楚。看一個小例子:package mark.zhang;import java.util.ArrayList;import java.util.HashSet;public class Test { public static void main(String[] args) {
Time of Update: 2018-12-03
定義:在定義屬性的位置上,在任何方法之外,定義一個代碼塊 種類:分為兩類即動態代碼塊、靜態代碼塊<1> 動態初始代碼塊:在初始化屬性之前調用初始化代碼塊 {……}<2> 靜態初始代碼塊:在類載入時運行 static{……} 只被運行一次,往往用作一個類的準備工作範例程式碼:package mark.zhang;public class Linux {/** * 動態代碼塊 */{System.out.println("--動態初始化代碼塊--");}/** *
Time of Update: 2018-12-03
1. volatile入門(1). java中volatile關鍵字的含義(2). 初學Java多線程:謹慎使用volatile關鍵字進階(1). Java 理論與實踐: 正確使用 Volatile 變數(2). 關於原子操作和volatile關鍵字~擴充 Java 原子操作2. strictfpJava中的strictfp關鍵字3. transient漢語翻譯在 java
Time of Update: 2018-12-03
所有的枚舉類都繼承自 Enum,因為 Java 不支援多繼承,所以枚舉無法繼承其它類。但是,枚舉與普通類一樣,可以實現介面。package mark.demo;public class EnumDemo {public static void main(String[] args) {for (Color color : Color.values()) {color.setColor();}}interface Paint {public void setColor();}public
Time of Update: 2018-12-03
C 語言中可以這樣來定義枚舉enum color { RED=0, GREEN, BLUE, YELLOW} col;關鍵字 enum 定義枚舉,在定義枚舉的同時,聲明該枚舉變數 col.注意:C 語言中枚舉成員的值是根據上下文自動加 1 的(GREEN = 1, BLUE = 2 等)。C 語言中 switch 語句支援枚舉類型#include<stdio.h>int main() { enum color { RED=0, GREEN,
Time of Update: 2018-12-03
JDK1.5 才開始有枚舉類型,同時可愛的 Java 組織豐富了 switch 語句:支援枚舉。定義一個枚舉類 Colorpublic enum Color {RED("red color", 0), GREEN("green color", 1),BLUE("blue color", 2), YELLOW("yellow color", 3);Color(String name, int id) {_name = name;_id = id;}private String
Time of Update: 2018-12-03
仍然採用 Java 枚舉:理解枚舉本質 例子。稍加修改。package mark.demo;public class EnumDemo {public static void main(String[] args) {for (Color color : Color.values()) {System.out.println(color);}}public enum Color {RED("red color", 0), GREEN("green color", 1), BLUE("blue
Time of Update: 2018-12-03
Throwable 類是所有異常類的父類RuntimeException 繼承自 Throwable在 JDK 文檔裡面中文意思如下:之前,寫代碼的時候 throw 某個異常,發現有些異常就是不需要 throws 語句(在方法聲明後面),而有些必須加上 throws 語句在方法聲明後面),或者 try..catch(在方法體裡面)。具體可以參見文章:http://bbs.csdn.net/topics/390279427看一個小例子接收控制台輸入的 兩個 int
Time of Update: 2018-12-03
瞭解靜態代碼塊,可以先抽幾分鐘時間看看連結 http://blog.csdn.net/androidbluetooth/article/details/6454135先給個樣本程式package it.mark;import java.util.HashMap;public class StaticDemo {public static HashMap<Integer, String> map;public StaticDemo()
Time of Update: 2018-12-03
這篇部落格適合:* 使用 Eclipse + ADT 開發 android 項目的 coder* 知道和使用過 Build path 的 coder* 希望簡單編寫測試代碼的 coderJUnit 調試測試 java 工程, android 開發當中,也有自己的一套測試架構。但是實際項目中,使用不多,至少我是這樣的,嘿咻!下面介紹一種簡單直接的調試方式。1. 建立 android 工程只是一個簡單的 android 工程,便於下面說明問題。2. 建立 java 項目3. 右鍵 java 工程4.
Time of Update: 2018-12-03
非接觸卡讀卡機與PC機的通訊格式如下: STX(02H)+ 6個位元組的卡號+VERH+VERL+EOT(04H)STX(02H)起始位元組EOT(04H)結束位元組6個位元組的卡號為六個十六進位的ASCII字元,6個位元組的傳送,高位元組在前,低位元組在後。例如:卡 號: 8 D E F 9 E傳輸的資料格式:38 44 45 46 39 45 (十六進位)在校正時採用目前最通用的BCC校正方式:具體的方法是: 將有效卡號接位元組作異或(XOR)校正:
Time of Update: 2018-12-03
以前用過幾次這個東東,但每次都重新查詢一次。本文原始出處是這裡。-----------------------------------------------------------Keytool是一個Java資料認證的管理工具,Keytool將密鑰(key)和認證(certificates)存在一個稱為keystore的檔案中在keystore裡,包含兩種資料:密鑰實體(Key entity)——密鑰(secret