目的:
1.掌握抽象類的含義,知道抽象類的作用,掌握如何使用抽象類
模板的作用
抽象類里面定義使用這個功能就可以選擇實現(xiàn)的方法或者屬性
抽象類不能實例化 不能創(chuàng)建抽象類的對象
2.掌握接口的含義以及使用方法和使用注意事項
接口 interface 定義一套方法 用于對象之間的通信
不要把接口理解為某一個物理存在的東西 VGA TypeC
接口就是定義一套規(guī)則/規(guī)范
接口里面默認變量都是static final 常量
默認情況下不需要自己寫public static final
不能定義變量
接口里面不能定義代碼塊(接口不是類)
接口里面不能定義構造方法
接口里面不能添加普通方法/對象方法/實例方法
只有抽象方法
默認就是public abstract
如果需要定義已經(jīng)有實現(xiàn)的方法
使用default(用的少)
接口里面可以定義內部類 默認修飾符就是public static
使用implements實現(xiàn)一個接口
一個類可以實現(xiàn)多個接口
一個接口可以繼承多個接口
定義一個抽象類其中包含代碼塊,抽象方法贯涎,內部類
abstract class BaseAndroidStudy{
//定義一個代碼塊
{
System.out.println("鍛煉身體");
}
//定義一個屬性 用于保存數(shù)據(jù)
public String javaBook;
public Dream dream;
public BaseAndroidStudy(String javaBook,String dream){
this.javaBook = javaBook;
this.dream = new Dream();
}
//定義一個靜態(tài)常量
public final String CBook = "C Primier";
//定義一個抽象方法 不需要實現(xiàn) 子類來實現(xiàn)
public abstract void studyC();
//定義一個普通方法 已經(jīng)確定了這個方法的具體實現(xiàn)
public void studyJava(){
System.out.println("參加東哥的Javs培訓班");
}
//定義一個內部類 用于管理每個人的夢想
class Dream{
public String name;
public void show(){System.out.println("我的夢想是:");}
}
}
抽象類的繼承:
class Student extends BaseAndroidStudy {
/**
* 使用extends來繼承一個抽象類
* 如果繼承一個抽象類 就必須實現(xiàn)抽象類里面的抽象方法
* 如果不實現(xiàn)抽象方法临梗, 也可以把這個類定義為抽象類
*/
String name;
@Override
public void studyC(){System.out.println("往死里學");}
public Student (String name, String bookName , String dream) {
super(bookName, dream);
this.name=name;
}
}
定義接口:
interface testInterface{
public static final int I = 100;
int COUNT = 20;
void test();
void test1();
void test2();
public static class inner{
int name;
public void show(){System.out.println("內部類");}
}
}
interface testInterface2{
public static final int I = 100;
int COUNT = 20;
void test();
void test1();
void test2();
public static class inner{
int name;
public void show(){System.out.println("內部類");}
}
}
接口的繼承:
class PJMClass implements testInterface ,testInterface2{
@Override
public void test(){
testInterface.inner in =new testInterface.inner();
in.show();
}
@Override
public void test1() {
}
@Override
public void test2() {
}
}
感悟:
抽象類和接口定義不難懂,簡單的創(chuàng)建和使用也不難懂苛吱。但是真正要實現(xiàn)一個具體的功能還是弄不清楚,各個類之間的方法調用捞稿,類的創(chuàng)建又谋,和類的方法使用,在哪里使用娱局,暈彰亥。不過沒關系,萬事開頭難衰齐,堅持下去就好了任斋。