Time of Update: 2017-01-19
多態性有兩種:1)編譯時間多態性對於多個同名方法,如果在編譯時間能夠確定執行同名方法中的哪一個,則稱為編譯時間多態性.2)運行時多態性如果在編譯時間不能確定,只能在運行時才能確定執行多個同名方法中的哪一個,則稱為運行時多態性.方法覆蓋表現出兩種多態性,當對象獲得本類執行個體時,為編譯時間多態性,否則為運行時多態性,例如:XXXX x1 = new XXXX(參數列表); //對象獲得本類執行個體,對象與其引用的執行個體類型一致XXX xx1 = new
Time of Update: 2017-01-19
Collections.sort() Java的排序可以用Collections.sort() 排序函數實現。用Collections.sort方法對list排序有兩種方法:第一種是list中的對象實現Comparable介面,如下:/*** 根據order對User排序*/public class User implements Comparable<User>{ private String name; private Integer order; public
Time of Update: 2017-01-19
來看一個具體的習題實踐:題目根據二叉樹前序走訪序列例如:7,-7,8,#,#,-3,6,#,9,#,#,#,-5,#,#,構建二叉樹,並且用前序、中序、後序進行遍曆代碼 import java.util.Scanner; public class BinaryTree { public static String[] str; public static int count; /** * 靜態內部類,定義二叉樹節點 */
Time of Update: 2017-01-19
策略模式屬於對象的行為模式。其用意是針對一組演算法,將每一個演算法封裝到具有共同介面的獨立的類中,從而使得它們可以相互替換。策略模式使得演算法可以在不影響到用戶端的情況下發生變化。策略模式的結構 策略模式是對演算法的封裝,是把使用演算法的責任和演算法本身分割開來,委派給不同的對象管理。策略模式通常把一個系列的演算法封裝到一系列的策略類裡面,作為一個抽象策略類的子類。用一句話來說,就是:“準備一組演算法,並將每一個演算法封裝起來,使得它們可以互換”。下面就以一個示意性的實現講解策略模式執行個體的
Time of Update: 2017-01-19
鏈式實現:在棧的一段添加和刪除元素,在棧中維護一個指向棧頂的結點和一個count變數指示棧的大小:private LinearNode top; //指向棧頂private int count;//標記棧的大小每次出棧和壓棧在鏈表的表頭:(也可以再表尾,實現方式不一樣而已)top--->元素1--->元素2--->元素3.........實現(附帶測試main):LinkedStackpackage Stack;import
Time of Update: 2017-01-19
API中對隊列的說明: public interface Queue<E>extends Collection<E>在處理元素前用於儲存元素的 collection。除了基本的 Collection 操作外,隊列還提供其他的插入、提取和檢查操作。每個方法都存在兩種形式:一種拋出異常(操作失敗時),另一種返回一個特殊值(null 或 false,具體取決於操作)。插入操作的後一種形式是用於專門為有容量限制的 Queue
Time of Update: 2017-01-19
什麼是Socket網路上的兩個程式通過一個雙向的通訊串連實現資料的交換,這個雙向鏈路的一端稱為一個Socket。Socket通常用來實現客戶方和服務方的串連。Socket是TCP/IP協議的一個十分流行的編程介面,一個Socket由一個IP地址和一個連接埠號碼唯一確定。但是,Socket所支援的協議種類也不光TCP/IP一種,因此兩者之間是沒有必然聯絡的。在Java環境下,Socket編程主要是指基於TCP/IP協議的網路編程。Socket通訊的過程Server端Listen(監聽)某個連接埠是
Time of Update: 2017-01-19
前言寫背景程式的時候,經常需要儲存當前伺服器的時間戳記,使用時間戳也很方便,用戶端和伺服器端都可以根據自己的需求做各自的轉換在php裡,擷取目前時間戳使用time()函數,格式化輸出通過Date()函數即可,Java裡相對複雜一些,這裡簡單介紹一下Java語言中的Calendar,Date,DateFormat組成了Java標準的一個基本但是非常重要的部分。日期是商業邏輯計算一個關鍵的部分,所有的開發人員都應該能計算未來的日期,定製日期的顯示格式,並將文本資料解析成日期對象擷取UNIX時間戳記在
Time of Update: 2017-01-19
本文為大家分享的java演算法計算階乘,在學習Java課程時經常會遇到求階乘問題,今天接跟大家一起探討一下代碼如下:package com.xu.main; import java.util.Scanner; public class P9 { static long fact(int n) { if(n <= 1) { return 1; } else { return n * fact(n - 1);
Time of Update: 2017-01-19
事務事務是一步或多步組成操作序列組成的邏輯執行單元,這個序列要麼全部執行,要麼則全部放棄執行。事務的四個特性:原子性(Atomicity)、一致性(Consistency)、隔離性(IsoIation)和持久性(Durability)原子性(Atomicity):事務應用最小的執行單元,不可再分。是事務中不可再分的最小邏輯執行體。一致性(Consistency):事務的執行結果,必須使資料庫的從一個一致性的狀態變到另一個一致性的狀態。隔離線(IsoIation):各個事務的執行互不干擾,任意一個
Time of Update: 2017-01-19
讀取檔案流時,經常會遇到亂碼的現象,造成亂碼的原因當然不可能是一個,這裡主要介紹因為檔案編碼格式而導致的亂碼的問題。首先,明確一點,文字檔與二進位檔案的概念與差異。文字檔是基於字元編碼的檔案,常見的編碼有ASCII編碼,UNICODE編碼、ANSI編碼等等。二進位檔案是基於值編碼的檔案,你可以根據具體應用,指定某個值是什麼意思(這樣一個過程,可以看作是自訂編碼。)因此可以看出文字檔基本上是定長編碼的(也有非定長的編碼如UTF-8)。而二進位檔案可看成是變長編碼的,因為是值編碼嘛,多少個位元代表一
Time of Update: 2017-01-19
今天為大家分享的一個經驗就是java的定時任務,就是說在一天的某個時間點執行以下代碼。public class TimerManager { //時間間隔 private static final long PERIOD_DAY = 24 * 60 * 60 * 1000; public TimerManager() { Calendar calendar = Calendar.getInstance(); /*** 定製每日2:00執行方法 ***/
Time of Update: 2017-01-19
這篇文章將給出兩種從ArrayList中重複資料刪除元素的方法,分別是使用HashSet和LinkedHashSet。ArrayList是Java中最常用的集合類型之一。它允許靈活添加多個null元素,重複的元素,並保持元素的插入順序。在編碼時我們經常會遇到那種必須從已建成的ArrayList中重複資料刪除元素的要求。方法1:使用HashSet刪除ArrayList中重複的元素在該方法中,我們使用HashSet來重複資料刪除的元素。如你所知,HashSet不允許有重複的元素。我們使用HashSe
Time of Update: 2017-01-19
最近做了微信公眾號支付的開發,由於是第一次做也摸索了幾天的時間,也只是達到了實現功能的水平,並沒有太多考慮到效能問題,所以這篇文章比較適合初學者。 微信公眾號支付的總體其實很簡單,大致就分為三步。第一步需要擷取使用者授權;第二步調用統一下單介面擷取預支付id;第三步H5調起微信支付的內建的js。下面介紹具體每一步的開發流程。一
Time of Update: 2017-01-19
java中實現多線程的方法有兩種:繼承Thread類和實現runnable介面。1.繼承Thread類,重寫父類run()方法 public class thread1 extends Thread { public void run() { for (int i = 0; i < 10000; i++) { System.out.println("我是線程"+this.getId()); } } public
Time of Update: 2017-01-19
如何藉助SimpleDateFormat類實現“年-月-日 上午/下午時:分:秒”日期的格式化:import java.text.SimpleDateFormat; import java.util.Date; public class Test { public static void main(String[] args) { System.out.println(new SimpleDateFormat("yyyy-MM-dd ahh:mm:ss").format(new
Time of Update: 2017-01-19
本文講述了Java數組的幾個相關的方面,講述了對Java數組的聲明、建立和初始化,並給出其對應的代碼。一維數組的聲明方式:type var[]; 或type[] var;聲明數組時不能指定其長度(數組中元素的個數),Java中使用關鍵字new建立數組對象,格式為:數組名 = new 數組元素的類型 [數組元素的個數]執行個體:TestNew.java:程式碼:public class TestNew { public static void main(String args[]) {
Time of Update: 2017-01-19
在實際的項目開發中會有很多的對象,如何高效、方便地管理對象,成為影響程式效能與可維護性的重要環節。Java 提供了集合架構來解決此類問題,線性表、鏈表、雜湊表等是常用的資料結構,在進行 Java 開發時,JDK 已經為我們提供了一系列相應的類來實現基本的資料結構,所有類都在 java.util 這個包裡,清單1 描述了集合類的關係。清單
Time of Update: 2017-01-19
最近看了物件導向的一些知識,然後跟著老師的講解做了一個太陽系各行星繞太陽轉的小遊戲,來練習鞏固一下最近學的知識:用到知識點:類的繼承、方法的重載與重寫、多態、封裝等分析:1.需要載入圖片、畫圖2.建一個面板,首頁面3.行星類效果圖:先看一下源碼結構圖:現在逐步分析各個類的功能:1)工具類-----util包中 --Constant類 封裝了遊戲中用到的常量 --GameUtil類
Time of Update: 2017-01-19
基本知識點 IP ——> 整數:把IP地址轉化為位元組數組通過左移位(<<)、與(&)、或(|)這些操作轉為int整數 ——> IP:將整數值進行右移位操作(>>>),右移24位,再進行與操作符(&)0xFF,得到的數字即為第一段IP。將整數值進行右移位操作(>>>),右移16位,再進行與操作符(&)0xFF,得到的數字即為第二段IP。將整數值進行右移位操作(>>>),右移8位,再進行與操作符(&