1初識面向對象
- 面向過程&面向對象
-
面向過程思想
-
步驟清晰簡單,第一步做什么,第二步做什么......
-
面對過程適合處理一些較為簡單的問題
-
-
面向對象思想
-
物以類聚,分類的思維模式,思考問題首先會解決問題需要哪些分類,然后對這些分類進行單獨思考。
最后,才對某個分類下的細節進行面向過程的思索。
-
面向對象適合處理復雜的問題,適合處理多人協作的問題。
-
-
對于描述復雜的事物,為了從宏觀上把握、從整體上合理分析。我們需要使用面向對象的思路來分析整個系統。
但是,具體到微觀操作,仍然需要面向過程的思路去處理。
- 什么是面向對象
-
面向對象編程(Object-Oriented Programming,OOP)
-
面向對象編程的本質就是:以類的方式組織代碼,以對象的組織(封裝)數據。
-
抽象
-
三大特性:
-
封裝
-
繼承
-
多態
-
-
從認識論角度考慮現有對象后有類。對象,是具體的事物。類,是抽象的,是對對象的抽象
-
從代碼運行角度考慮是現有類后有對象。類是對象的模板
2方法回顧和加深
-
方法的定義
-
修飾符
-
返回類型
-
break:跳出switch,結束循環;return:結束方法
-
方法名:注意命名規范
-
參數列表:(參數名,參數類型)
-
異常拋出
-
-
方法的調用
-
靜態方法 :直接調用
-
非靜態方法:以對象調用
-
形參和實參
-
值傳遞和引用傳遞
-
this關鍵字
-
3對象的創建分析
類與對象的關系
-
類是一種抽象的數據類型,它是對某一類事物整體描述/定義,但是并不能代表某一具體事物。
-
動物、植物、手機、電腦。。。
-
Person類、Pet類、Car類,這些類都是用來描述/定義某一具體的事物應該具備的特點和行為
-
-
對象是抽象概念的具體實例
-
張三就是一個人的具體實例,張三家里的旺財就是狗的具體實例。
-
能夠體現出特點,展現出功能的的是具體的實例,而不是一個抽線的概念
-
創建和初始化對象
-
使用new關鍵字初始化對象
-
使用new關鍵字創建的時候,除了分配內存空間以外,還會給創建好的對象進行默認的初始化
以及對類中構造器的調用。
-
類的構造器也稱為構造方法,是在創建對象的時候必須要調用的。并且構造器有以下兩個特點:
-
1.必須個類的名字相同
-
2.必須沒有返回值,也不能寫void
-
-
構造器必須要掌握
public class obj {
public static void main(String[] args) {
//類:抽象的,實例化
/*實例化后會返回一個自己的對象!
student對象就是一個Student類的具體實例*/
student xiaoming = new student();
qingjiang.name = "小明";
qingjiang.age = 22;
student xiaohong = new student();
kuangshen.name = "小紅";
kuangshen.age = 21;
?
?
}
}
public class student {
//屬性:字段
String name;
int age;
String Profession;
//方法
public void play(){
System.out.println(this.name+"在玩");
}
public void study(){
System.out.println(this.name+"在學習");
}
}
public class person {
//一個類即使什么都不寫,它也會存在一個方法
//顯示的定義構造器
String name;
int age;
?
//1.使用new關鍵字,本質實在調用構造器
//2.用來初始化值
public person(){
}
?
//有參構造:一旦定義了有參構造,無參就必須顯示定義
public person(String name){
this.name = name;
}
?
public person(String name,int age){
this.name = name;
this.age = age;
}
}
?
/*
public class Application {
//一個程序只能有一個main方法
public static void main(String[] args) {
?
?
person person = new person("文");
}
}
?
構造器:
1.和類名相同
2.沒有返回值
作用:
1.new本質在調用構造方法
2.初始化對象的值
注意點:
1.第一有參構造后,如果想要使用無參構造,必須顯示的定義一個無參構造
?
alt+insert
*/
?
public class obj {
public static void main(String[] args) {
?
/*
總結
1.類與對象
類是一個模板:抽象的。對象是一個具體的實例
2.方法:
定義:修飾符+類型+方法名+參數
調用:對象名+方法名
3.對應的引用
引用類型: 基本類型
對象是通過引用來操作的:棧--->堆
4.屬性:字段(Field)成員變量
默認初始化:
數字:0、0.0
char:u0000
引用:null
修飾符 屬性類型 屬性名 = 屬性值
5.對象的創建和使用
- 必須使用new關鍵字創建對象,構造器
- 對象的屬性:person.name
- 對象的方法:person.play()
6.類
靜態屬性 屬性
動態的行為 方法
* */
}
}
浙公網安備 33010602011771號