回顧
八谆甜、習(xí)題
學(xué)習(xí)小結(jié)
一、抽象類
Java中可以創(chuàng)建一種類專門來做父類集绰,這種類就是抽象類规辱。
1.抽象類的基本概念
抽象方法是只聲明而為實(shí)現(xiàn)的方法,且必須使用abstract關(guān)鍵字聲明栽燕,包含抽象方法的類也必須用abstract class聲明罕袋。
抽象類定義規(guī)則:
(1) 抽象類和抽象方法都必須用abstract關(guān)鍵字來修飾;
(2) 抽象類不能直接實(shí)例化碍岔,即不能直接通過new來產(chǎn)生對象浴讯;
(3) 抽象類定義時(shí)抽象方法只需聲明,而不需要實(shí)現(xiàn)付秕;
(4) 含抽象方法的類必須被聲明為抽象類兰珍,抽象類的子類必須覆寫所有的抽象方法后才能被實(shí)例化,否則此子類還是抽象類询吴。
語法:
abstract class 類名稱{
聲明數(shù)據(jù)成員掠河;
訪問權(quán)限 返回值的數(shù)據(jù)類型 方法名稱(參數(shù)···){
// 定義一般方法
}
abstract 返回值的數(shù)據(jù)類型 方法名稱(參數(shù)···); // 定義抽象方法里沒有定義方法體
}
例如:
abstract class Book {
private String title = "Java開發(fā)"; // 屬性
public void print() { // 普通方法猛计,有“{}”表示方法體
System.out.println(title);
}
public abstract void fun(); // 沒有方法體唠摹,是一個(gè)抽象方法
}
抽象類使用原則:
抽象類必須有子類,子類使用extends繼承奉瘤,一個(gè)子類只能繼承一個(gè)抽象類勾拉;
子類(若不是抽象類)則必須覆寫抽象類之中的全部抽象方法煮甥;
如果要想實(shí)例化抽象類的對象,則可以使用子類進(jìn)行對象的向上轉(zhuǎn)型來完成藕赞。
package com.Javastudy2;
/**
* @author Y.W.
* @date 2017年9月9日 下午11:44:07
* @Description TODO 抽象類的使用
*/
public class P323_13_1 {
public static void main(String[] args) {
Student11 s = new Student11("張三", 20, "學(xué)生"); // 創(chuàng)建Student類對象s
Worker w = new Worker("李四", 30, "工人"); // 創(chuàng)建Worker類對象w
System.out.println(s.talk()); // 調(diào)用被覆寫的方法
System.out.println(w.talk());
}
}
abstract class Person22 { // 定義一個(gè)抽象類Person
String name;
int age;
String occupation;
public abstract String talk(); // 聲明一個(gè)抽象方法talk()
}
class Student11 extends Person22 { // Student類繼承自Person類
public Student11(String name, int age, String occupation) {
this.name = name;
this.age = age;
this.occupation = occupation;
}
public String talk() { // 覆寫抽象方法talk()
return "學(xué)生--》姓名:" + this.name + "成肘,年齡:" + this.age + ",職業(yè):" + this.occupation + "斧蜕!";
}
}
class Worker extends Person22 { // Worker類繼承自Person類
public Worker(String name, int age, String occupation) {
this.name = name;
this.age = age;
this.occupation = occupation;
}
public String talk() { // 覆寫抽象方法talk()
return "工人--》姓名:" + this.name + "双霍,年齡:" + this.age + ",職業(yè):" + this.occupation + "批销!";
}
}
運(yùn)行結(jié)果:
圖示:
思考
終于學(xué)到抽象類啦洒闸。
記于2017年9月10日夜