《JAVA编程那点事儿》读书笔记(二)——类和对象
方法:
1. 基本的main方法:
public static void main(String[] args)2.靜態(tài)方法內(nèi)部調(diào)用非靜態(tài)方法:重新聲明一個類,通過這個類來調(diào)用非靜態(tài)方法
1 public class MAINMETHOD { 2 public static void main(String[] args) { 3 MAINMETHOD mm = new MAINMETHOD(); 4 System.out.printf("%d", mm.max(5, 6)); 5 6 } 7 8 public int max(int a,int b){ 9 return a>b?a:b; 10 } 11 }3. 方法重載:在一個類內(nèi)部出現(xiàn)了多個方法名稱相同但參數(shù)列表不同的方法。
public void a(int a){}public int a(){}public void a(int a,String s){}重載的方法的返回值不盡相同,通常情況下,重載的方法在訪問控制符、修飾符和返回值類型上都保持相同。
4.參數(shù)的傳遞方法:
? 1)按值傳遞:參數(shù)的原始數(shù)值不發(fā)生改變,8種基本數(shù)據(jù)類型和String都是按值傳遞。
? 2)按址傳遞:參數(shù)的原始數(shù)值發(fā)生改變,除String以外的所有復(fù)合數(shù)據(jù)類型,包括數(shù)組、類和接口。
5.類
? 1)屬性聲明
訪問控制符 [修飾符] 數(shù)據(jù)類型 屬性名[=值]? 2)方法聲明
? 3)構(gòu)造方法聲明
訪問控制符 構(gòu)造方法名稱(參數(shù)列表){構(gòu)造方法體; }構(gòu)造方法名稱必須和類名稱相同。
public class Box{int length;int width;int height;public Box(){length = 10;width = 10;height = 10;}public Box(int l,int w,int h){length = l;width = w;height = h;} }6.對象
? 1)對象的聲明:
數(shù)據(jù)類型 對象名;? 2)對象的初始化:
對象名 = new 構(gòu)造方法(參數(shù))? 3)引用對象中的屬性:在實際的面向?qū)ο蟪绦蛑?#xff0c;一般都避免使用對象直接引用屬性,代之以getter和setter方法進行訪問。
? 4)引用對象中的方法
對象名.方法名(參數(shù))? 5)對象的存儲
? ? ? 棧內(nèi)存:存儲基本數(shù)據(jù)類型,棧主要是用來執(zhí)行程序的。
堆內(nèi)存:堆內(nèi)存用于存放由new創(chuàng)建的對象和數(shù)組。
7.繼承
訪問控制符 [修飾符] class 類名 extends 父類名{...... }子類不繼承父類的構(gòu)造方法,但在子類的構(gòu)造方法內(nèi)部必須調(diào)用父類的構(gòu)造方法。
覆蓋:在子類內(nèi)部重新書寫父類中的方法的語法現(xiàn)象。子類的限制不能比父類嚴(yán)格。例如不能使用比父類限制更大的訪問控制符或者拋出比父類更多的異常等。
8.訪問控制符
| 訪問控制符 | 同一個類內(nèi)部 | 同一個包內(nèi)部 | 不同包中的子類 | 不同包中的非子類 |
| public | Yes | Yes | Yes | Yes |
| protected | Yes | Yes | Yes | No |
| 無訪問控制符 | Yes | Yes | No | No |
| private | Yes | No | No | No |
public:只要能訪問到對應(yīng)的類,就可以訪問到類內(nèi)部的public修飾的內(nèi)容;
protected:繼承權(quán)限,被同一個包中的類訪問或者不同包中的子類訪問;
無訪問控制符:包權(quán)限。修飾的內(nèi)容可以被一個包中的類訪問。
private:只能在當(dāng)前類中訪問。(eclipse中source->Generate Getters and Setters可以自動生成get和set方法)
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/sunshineatnoon/p/3816313.html
總結(jié)
以上是生活随笔為你收集整理的《JAVA编程那点事儿》读书笔记(二)——类和对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 捷微jeewx , 免费开源(java)
- 下一篇: webView的属性