java筆記第六章之物件導向

2021-06-09 18:47:45 字數 2590 閱讀 7003

第六章:物件導向

@物件:(什麼是物件) 一切客觀(不一定看的見摸的著)存在的事物都是物件,

#:物件的組成部分:

1,屬性 

2,方法  物件的屬性可以又是乙個物件

計算機中的物件:一塊連續的儲存空間 

#類是什麼:

1.類是大量物件共性的抽象 

2,類是客觀事物在人腦中的主觀反映 

3,類是建立物件的模板(類是主觀存在,物件是客觀存在的)完成了模板才能有物件

#定義類:

class + 

類名{}

#建立物件的兩種方法:

1.student s1=new student()   2. student s1; s1=new student();

#.oop:object oriented programming 物件導向程式設計

xp:extreme programm 極限程式設計

#例項變數;定義在類中,實際上屬於物件的 

1,不用先賦值,存在預設值,

2,作用範圍不用,至少在本類內有效,

3,例項變數可以和區域性變數命名衝突區域性變數優先使用

#區域性變數;特點:

1,必須寫在方法中 

2,必須先賦值再使用,沒有預設值,

3,作用範圍在乙個**塊中 

#方法: 方法的格式:  修飾符 返回值型別 方法名(引數

1,引數

2) 異常

(這個可以省)方法要在類的內部定義;

#.點運算子

.是屬於的意思,

student.add(2) 方法

#,如果有多個函式與你傳遞的引數匹配,那麼最精確的函式會被呼叫

#。構造方法的過載:特點:

1,構造方法不能被手工呼叫,被自動呼叫 

2,構造方法在物件構造時被啟動呼叫一次,而且只會被呼叫一次

#建立物件:

1,記憶體中分配空間,指定預設值,

2,初始化屬性,

3,呼叫建構函式

#如果在乙個類中沒有定義建構函式,系統會預設提供乙個公開的無參的空構造方法

#用構造方法給例項變數賦值

class student

public student(int age) student s=new student(10)  乙個物件建立過程例項變數會發生三次變化,我們能改變的是第三次  ,例項變數存在預設值

@物件和引用

#引用的概念 

student s; s=new student(); 1

,物件型別的變數就叫做引用

2,引用儲存的是物件記憶體空間的首位址

int a=10;

int b=a;

b++;

system.out.println(a) //a還是10,

b為11  

基本資料型別在記憶體中存的都是資料,沒有位址

經典:student s1=new student();

student s2=s1; //相當於指標       

s1指向

student

記憶體的首位址,

s1把首位址賦給了s2,

s2和s1同時指向了同乙個物件同一塊記憶體

s2.age=21;

system.out.println(s1.age)  

#程式中傳值問題 

(1)int a=20;

m1(a);

system.out.println(a)//列印出

a=10;

等於把a

的值複製給b ,

a值不變

public static void m1(int b){

b++(2

)student s1=new student()

m2(s1);

system.out.println(s1.age);

pulbic void m2(student stu){

stu.age++

class student{//列印出

21 因為把首位址傳了過去,直接操作了物件屬性

int age=20;

還有種情況是 轉殖: 拷貝乙份和源物件狀態一致的物件

student student=new student();

student.age=5;

student student2=(student)student.clone(); //返回值是

object物件

student2.age=10;

system.out.println(student.age);

class student implements cloneable{

int age=2;

實現介面:

protected object clone() throws 

return super.clone();

轉殖的分類:1

,深度轉殖 :使用場合,如果我們想把乙個物件的狀態傳遞到方法中,而不想讓方法影響到傳入物件的狀態,那麼就可以考慮轉殖 

2,淺度轉殖

使用方法:實現 cloneable

介面,重寫

clone

方法;

第六章 物件導向的程式設計

ecmascipt有兩種屬性 資料屬性和訪問屬性。資料屬性 資料屬性有四個特性 configurable 表示能否通過delete刪除屬性從而重新定義屬性 enumerable 表示能否通過for in迴圈返回屬性 writeable 表示能否修改屬性的值 value 屬性的值 要修改屬性預設的特性...

第六章筆記

頂層const與底層const的區別 頂層const是指標物件本身是乙個常量,而底層const是指標所指的物件是乙個常量,理解起來就相當於前者是直接,後者是間接。宣告函式可以多次,但是每個形參只能用實參預設初始化一次,即後續宣告只可以為未預設初始化的形參新增預設實參,而且其形參右側的所有形參必須都有...

java第六章類與物件

類修飾符的含義 public 將乙個類宣告為公共類,它可以被任何物件訪問,乙個程式的主類必須為公共類 abstract 將乙個類宣告為抽象類,沒有實現的方法,需要子類提供方法的實現.final 將乙個類宣告為最終類即非繼承類,表示它不能被其他類所繼承 friendly 友元型別,預設的修飾符,只有在...