-
實(shí)例一個(gè)對(duì)象后,使用該對(duì)象調(diào)用類的方法:對(duì)象名.方法名();? ?如果該方法有返回值則需要聲明一個(gè)同類型的變量接收。//String? a = 對(duì)象名.方法名();
多態(tài)是同一個(gè)行為具有多個(gè)不同表現(xiàn)形式或形態(tài)的能力。
接口是一個(gè)抽象的類型。
查看全部 -
實(shí)現(xiàn)多態(tài)的關(guān)鍵是接口。
定義一個(gè)接口只能在里面聲明方法,不能實(shí)現(xiàn)方法(沒有方法體)。方法的實(shí)現(xiàn)在類中實(shí)現(xiàn),這個(gè)類稱為實(shí)現(xiàn)類,實(shí)現(xiàn)類需要使用implements關(guān)鍵字:
public class 類名 implements 接口名{
//接口方法的實(shí)現(xiàn)
}
接口定義:
public interface 接口名{
//方法聲明
}
接口實(shí)例一個(gè)對(duì)象:
接口名 對(duì)象名 = new 實(shí)現(xiàn)類的類名();
多態(tài)需要加深理解,多看幾遍視頻。查看全部 -
get()方法沒有參數(shù)但有返回值,
set()方法有參數(shù)但沒有返回值。
this關(guān)鍵字表示當(dāng)前對(duì)象的變量,
沒有this表示是外部要設(shè)置的參數(shù)。查看全部 -
面向?qū)ο笕筇卣鳎悍庋b、繼承、多態(tài)。
查看全部 -
包:把功能相似或相關(guān)的類組織在同一個(gè)包中。
查看全部 -
創(chuàng)建一個(gè)類,屬性和方法在類中創(chuàng)建,在主方法中實(shí)現(xiàn)。類中的方法需要先實(shí)例化一個(gè)對(duì)象才能調(diào)用,調(diào)用的格式為:對(duì)象名.方法名();都是在主方法中實(shí)現(xiàn)。
public class 類{
//屬性;
//方法
public 返回類型 方法名(){
//方法體;
}
public void main(){
//在這里實(shí)現(xiàn)功能
類名 對(duì)象名 = new 類名();? //創(chuàng)建對(duì)象
對(duì)象名.方法名();? //調(diào)用類的方法
}?? //主方法結(jié)束括號(hào)
}? //類結(jié)束括號(hào)查看全部 -
現(xiàn)實(shí)中,肉類加工廠封裝了加工的過程、蘋果公司封裝了芯片技術(shù)實(shí)現(xiàn)的過程等
概念:
封裝就是隱藏功能的實(shí)現(xiàn)細(xì)節(jié)
對(duì)象和方法是實(shí)現(xiàn)封裝的直接途徑
良好的封裝使代碼更好的閱讀和維護(hù)
好處一:把常見的排序算法都封裝在一個(gè)類中,需要哪個(gè)就調(diào)用哪個(gè)。
好處二:使用者維護(hù)使用代碼,服務(wù)提供者維護(hù)服務(wù)代碼,兩者互不影響。package com.imooc.objectproject.sample3;
//張三開發(fā)的排序算法類
public class Algorithm {
? ? ? ? /*
? ? ? ? ?*傳入五個(gè)數(shù),控制臺(tái)打印升序效果
? ? ? ? ?* @param a 第一個(gè)數(shù)
? ? ? ? ?* @param b 第二個(gè)數(shù)
? ? ? ? ?* @param c 第三個(gè)數(shù)
? ? ? ? ?* @param d 第四個(gè)數(shù)
? ? ? ? ?* @param e 第五個(gè)數(shù)
? ? ? ? ?*/
? ? ? ? public void sort(int a , int b , int c , int d , int e){
? ? ? ? ? ? //冒泡排序法
? ? ? ? ? ? int [] arr = {a,b,c,d,e} ;
? ? ? ? ? ? for(int i = 0;i < arr.length - 1;i++){
? ? ? ? ? ? ? ? for(int j =0;j < arr.length - 1 - i;j++){
? ? ? ? ? ? ? ? ? ? if(arr[j] > arr[j+1]){
? ? ? ? ? ? ? ? ? ? ? ? int temp = arr[j];
? ? ? ? ? ? ? ? ? ? ? ? arr[j] = arr[j+1];
? ? ? ? ? ? ? ? ? ? ? ? arr[j+1] = temp;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? for(int i = 0;i < arr.length;i++){
? ? ? ? ? ? ? ? System.out.println(arr[i] + " ");
? ? ? ? ? ? }
? ? }
? ? public static void main(String[] args) {
? ? ? ? Algorithm algorithm = new Algorithm();
? ? ? ? algorithm.sort(82,88,988,223,184);
? ? }
}
查看全部 -
的
查看全部 -
public String is OddNumber(int num){
}
查看全部 -
封裝的概念:
????將數(shù)據(jù)和操作數(shù)據(jù)的方法進(jìn)行有機(jī)結(jié)合,隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外公開接口來和對(duì)象進(jìn)行交互。
查看全部 -
多態(tài)的概念
????同一個(gè)行為具有多個(gè)不同的表現(xiàn)形式或形態(tài)的能力,根據(jù)輸入的內(nèi)容不同,去產(chǎn)生不同的接口實(shí)現(xiàn),實(shí)現(xiàn)多態(tài)的關(guān)鍵是接口
多態(tài)的前提
要有繼承或?qū)崿F(xiàn)關(guān)系
要有方法的重寫
要有父類引用指向子類對(duì)象
引用變量的兩種類型
????編譯時(shí)類型:由聲明時(shí)的類型決定。
????運(yùn)行時(shí)類型:由實(shí)際對(duì)應(yīng)的對(duì)象類型決定。
優(yōu)點(diǎn):
????提高程序的擴(kuò)展性。定義方法時(shí)候,使用父類型作為參數(shù),在使用的時(shí)候,使用具體的子類型參與操作
缺點(diǎn):
????不能使用子類的特有成員
接口:
????抽象的類型,只提供方法的定義
實(shí)現(xiàn)類:
????接口的具體實(shí)現(xiàn),要實(shí)現(xiàn)每一個(gè)接口方法的功能,一個(gè)接口可以擁有多個(gè)實(shí)現(xiàn)類
查看全部 -
繼承
extends 關(guān)鍵字?于類的繼承;
extends 關(guān)鍵字后?是?類,關(guān)鍵字前?是?類;
?類會(huì)繼承?類的(default)/protected/public 修飾的成員變量與?法?
查看全部 -
修飾符
public 限定符:被 public 修飾不管在哪里都可以訪問。
private 限定符:被 private 修飾的成員變量、方法、類等只允許在當(dāng)前類的內(nèi)部進(jìn)行訪問。
查看全部 -
包package
包的命名規(guī)范:
包采用“逆域名法”進(jìn)行命名,用“.”分割,單詞全部小寫
標(biāo)準(zhǔn)格式:域名后綴.組織機(jī)構(gòu)名.項(xiàng)目名[.模塊名].包的職能
public 限定符:被 public 修飾不管在哪里都可以訪問。
?
查看全部 -
方法method
????方法method是用于完成特定功能的整段代碼(封裝)?
查看全部
舉報(bào)