如何快速學習Android開發(fā),必知知識點集錦B搿(磨礪營馬劍威Android)

【威哥說】很多人在工作中不斷的遇到瓶頸孽亲,想研究新的技術(shù),卻發(fā)現(xiàn)自己的基礎不扎實展父,無法深入理解某一項技能的原理問題返劲。這就需要大家能在工作之余穩(wěn)固一下自己的基礎知識了玲昧。有了比較完善的基礎積淀才能事半功倍。

【正文】上篇介紹了Android和ios該如何選擇的文章后篮绿,收到了很多同學的回復孵延,統(tǒng)計下來選擇Android的要多于ios。要學Android開發(fā)亲配,必須學習java尘应,下面這些知識點掌握了,Android就會學習的更快吼虎。

1. 基本數(shù)據(jù)類型

整形:

byte ? ? ?1 個字節(jié)

short ? ? 2 個字節(jié)

int ? ? ? ? ?4個字節(jié)

long ? ? ? 8個字節(jié)

字符:

char ? ? 2個字節(jié)

浮點數(shù):

float ? ? ? 4個字節(jié)

double ? 8個字節(jié)

布爾:

boolean ? 1個字節(jié)

2.java 7 ?新增二進制整數(shù)

以0b或者0B開頭

3.java中字符時16位的Unicode編碼方式犬钢,格式是'\uXXXX',其中xxxx代表一個十六進制整數(shù)

4.java中規(guī)定了正無窮大思灰、負無窮大和零

正無窮大= ?一個正數(shù)除以0

負無窮大= 一個負數(shù)除以零

0.0 除以0.0 ?或者 對一個負數(shù)開方 ?得到一個非數(shù)

5. 在java中布爾類型只能是true和false

6. 在java中沒有多維數(shù)組

看似像C語言中的多維數(shù)組不是真正的數(shù)組玷犹,比如 a[3][4] , a[0] a[1] a[2] ?是真實存在的,裝的是地址官辈,和c語言中動態(tài)分配為的數(shù)組一樣

int ?[][] ?b ?= new ?int[3][4]

7. Java中帶包的編譯方法

javac -d . ?Hello.java ? ?會在當前目錄下生成目錄樹

運行 ?java ?包名字.類名字

8. Java多態(tài)中的對象的filed 不具有多態(tài)性箱舞,如 ?父類 ?對象 = ?new ?子類(), 對象.field ?是調(diào)用的父類的拳亿,即使子類中覆蓋了該字段。

9. instanceof 運算符

格式: 引用變量名 ?instanceof ?類名(或者接口) ?他用于判斷前面的對象是否是后面對象的類愿伴,子類肺魁、實現(xiàn)類的實例,是返回true隔节,否者返回false

10. Java 中基本數(shù)據(jù)類型和對應封裝類之間的轉(zhuǎn)化

int ? a ?= ?1;

Integer ?A ?= ?new Integer(a);

a ?= A.intValue();

其他的類型也是這樣的鹅经。

11.單例(singleton)類 例子

代碼如下:

class Singleton

{

private static Singleton instance;

private Singleton(){}

public static Singleton getInstance()

{

if(instance == null)

{

instance = new Singleton();

}

return instance;

}

public static void main(String[] args)

{

Singleton s1 = Singleton.getInstance();

Singleton s2 = Singleton.getInstance();

System.out.println(s1 == s2);

}

}

12.final修飾的成員變量初始化問題

類Field: 必須在靜態(tài)初始塊中或聲明該FIeld時指定初始值

實例Field:必須在非靜態(tài)初始塊中或聲明該FIeld時指定初始值或構(gòu)造器中聲明

13.Final 變量必須顯式初始化,系統(tǒng)不會對final變量進行隱式初始化

14.java會使用常量池來管理曾經(jīng)用過的字符串直接常量怎诫,例如:String a = "java"; 瘾晃,系統(tǒng)把常量字符串“java”存在常量池,當再次執(zhí)行 String b = "java"; ?a == b ?是true

15.final 方法不可以重寫幻妓,final類不能被繼承

如果用private 方法 和 final private 是一樣的

若果是用final修飾的方法在子類中出現(xiàn)蹦误,那是子類新定義的,與父類沒有關(guān)系

16.不可變類:創(chuàng)建后該類的Field是不可改變的肉津。java提供了8個基本變量的包裝類和string都是不可改變類强胰。

17.緩存實例的不可改變類

代碼如下:

class CacheImmutale

{

private static int MAX_SIZE = 10;

private static CacheImmutale[] cache = new CacheImmutale[MAX_SIZE];

private static int pos = 0;

private final String name;

private CacheImmutale(String name)

{

this. name = name;

}

public String getName()

{

return name;

}

public static CacheImmutale valueOf(String name)

{

for(int i = 0; i < MAX_SIZE; ++i)

{

if(cache[i] != null && cache[i].getName().equals(name))

return cache[i];

}

if(pos == MAX_SIZE)

{

cache[0] = new CacheImmutale(name);

pos = 1;

}

else

{

cache[pos++] = new CacheImmutale(name);

}

return cache[pos -1];

}

public boolean equals(Object obj)

{

if(this == obj)

return true;

if(obj != null && obj.getClass() == CacheImmutale.class)

{

CacheImmutale ci = (CacheImmutale)obj;

return name.equals(ci.getName());

}

return false;

}

public int hashCode()

{

return name.hashCode();

}

}

public class CacheImmuteTest

{

public static void main(String[] args)

{

CacheImmutale c1 = CacheImmutale.valueOf("Hello");

CacheImmutale c2 = CacheImmutale.valueOf("Hello");

System.out.println(c1 == c2);

}

}

用緩存實例要看某個對象的使用頻率,若重復使用那就利大于弊妹沙,若不經(jīng)常使用那弊就大于利

還有java提供的java.lang.Integer ?創(chuàng)建數(shù)值在-128-127之間的數(shù)采用緩存機制的

Integer in2 = Integer.valueOf(6);

Integer in3= Integer.valueOf(6);

in2 == in3 ?is true;

18. static 和 abstract 不能同時修飾一個方法偶洋,沒有類抽象方法

19.一個類可以又一個父類,實現(xiàn)多個接口距糖,接口中Filed是public 玄窝、static牵寺、final的,方法是public abstract的

20.非靜態(tài)內(nèi)部類的方法訪問某個變量恩脂,搜索順序為:先內(nèi)部類中方法內(nèi)-> 內(nèi)部類 ?-> 外部類中如果都找不到則出現(xiàn)編譯錯誤

代碼如下:

import java.util.*;

public class DiscernVariable

{

private String prop = "外部類的實例變量";

private class InClass

{

private String prop = "內(nèi)部類的實例變量";

public void info()

{

String prop = "局部變量";

System.out.println("外部類的field值:" + DiscernVariable.this.prop);

System.out.println("內(nèi)部類的field值:" + this.prop);

System.out.println("局部變量的值:" + prop);

}

}

public void test()

{

InClass in = new InClass();

in.info();

}

public static void main(String[] args)

{

new DiscernVariable().test();

}

}

21.非靜態(tài)內(nèi)部類不能有靜態(tài)方法缸剪、靜態(tài)Field、靜態(tài)初始化塊

22.在外部類之外訪問內(nèi)部類

訪問非靜態(tài)內(nèi)部類:outclass.Inclass varname = new outclass().new InClass();

訪問靜態(tài)內(nèi)部類: ?outclass.Inclass varname = new outclass.Inclass();

代碼如下:

import java.util.*;

class Out

{

class In

{

public In()

{

System.out.println("非靜態(tài)內(nèi)部類構(gòu)造器");

}

}

}

public class CreatInnerInstance

{

public static void main(String[] args)

{

Out.In in = new Out().new In();

/*

以上的代碼可分開寫為:

Out.In in;

Out out = new Out();

in = out.new In();

*/

}

}

class SubClass extends Out.In

{

//顯示定義SubClass的構(gòu)造器

public SubClass(Out out)

{

//通過轉(zhuǎn)入的Out對象顯示調(diào)用In的構(gòu)造器

out.super();

}

}

代碼如下:

import java.util.*;

class StaticOut

{

static class StaticIn

{

public StaticIn()

{

System.out.println("靜態(tài)內(nèi)部類構(gòu)造器");

}

}

}

public class CreatStaticInnerInstance

{

public static void main(String[] args)

{

StaticOut.StaticIn in = new StaticOut.StaticIn();

/*

以上的代碼可分開寫為:

StaticOut.StaticIn in;

in = new StaticOut.StaticIn();

*/

}

}

class SubClass extends StaticOut.StaticIn

{

//無須創(chuàng)建內(nèi)部類實例

}

更多內(nèi)容關(guān)注微信公眾號mjw-java或訪問www.moliying.com

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末东亦,一起剝皮案震驚了整個濱河市杏节,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌典阵,老刑警劉巖奋渔,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異壮啊,居然都是意外死亡嫉鲸,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門歹啼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來玄渗,“玉大人,你說我怎么就攤上這事狸眼√偈鳎” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵拓萌,是天一觀的道長岁钓。 經(jīng)常有香客問我,道長微王,這世上最難降的妖魔是什么屡限? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮炕倘,結(jié)果婚禮上钧大,老公的妹妹穿的比我還像新娘。我一直安慰自己罩旋,他們只是感情好啊央,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瘸恼,像睡著了一般劣挫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上东帅,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天压固,我揣著相機與錄音,去河邊找鬼靠闭。 笑死帐我,一個胖子當著我的面吹牛坎炼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拦键,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼谣光,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了芬为?” 一聲冷哼從身側(cè)響起萄金,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎媚朦,沒想到半個月后氧敢,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡询张,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年孙乖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片份氧。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡唯袄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蜗帜,到底是詐尸還是另有隱情恋拷,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布钮糖,位于F島的核電站梅掠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏店归。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一酪我、第九天 我趴在偏房一處隱蔽的房頂上張望消痛。 院中可真熱鬧,春花似錦都哭、人聲如沸秩伞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纱新。三九已至,卻和暖如春穆趴,著一層夾襖步出監(jiān)牢的瞬間脸爱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工未妹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留簿废,地道東北人空入。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像族檬,于是被迫代替她去往敵國和親歪赢。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎部分 基礎部分的順序:基本語法单料,類相關(guān)的語法埋凯,內(nèi)部類的語法,繼承相關(guān)的語法扫尖,異常的語法白对,線程的語...
    子非魚_t_閱讀 31,632評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)藏斩,斷路器躏结,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • 小編費力收集:給你想要的面試集合 1.C++或Java中的異常處理機制的簡單原理和應用。 當JAVA程序違反了JA...
    八爺君閱讀 4,592評論 1 114
  • 一狰域、 1媳拴、請用Java寫一個冒泡排序方法 【參考答案】 public static void Bubble(int...
    獨云閱讀 1,375評論 0 6
  • 讓我們一起丟掉衣柜里的舊衣服,過上充滿自律精神的品質(zhì)生活兆览。 01 最近受邀到朋友的新家做客屈溉。她的家不大,就66平米...
    美麗文靜2閱讀 672評論 3 2