1. 程式人生 > >第十七課 final關鍵字和abstract關鍵字

第十七課 final關鍵字和abstract關鍵字



一、final關鍵字
final(最終)是一個修飾符
1.final可以修飾類,函式,變數(成員變數,區域性變數)
2.被final修飾後的類不可以被其他類繼承
3.被final修飾後的函式不可以被重寫
4.被final修飾後的變數不允許被再次賦值,final在對變數進行修飾時一定賦值,
被public final static多個修飾符修飾的的變數我們稱它為常量

注意:常量的命名規範:字母全部要大寫,
如果這個名字是由多個單片語成,在單詞之間用——隔開

class Student{
	public final static String STUDENT_NAME="小李";//全域性變數
}
public class A6_28{
	public static void main(String[] args){
		Student s=new Student();
		Student s1=new Student();
	}
}

二、abstract關鍵字

abstract:是一個修飾符
可以修飾方法,類
當我們多個類存在相同的功能,但是功能的主體不同,這時我
進行向上抽取只抽取功能的定義不抽取功能的主體

抽象類的特點:
1.抽象方法一定要在抽象類中
2.抽象類和抽象方法必須要被abstract關鍵字修飾
3.抽象的類是不能被建立物件,因為呼叫抽象的方法沒意義
4.抽象類的中方法要被使用,必須由子類重寫抽象類中的方法。
然後建立子類物件來呼叫
5.抽象類中可以定義非抽象的方法,有時我們需要此類不能被new關鍵
字建立物件時,可以用abstract將此類變成抽象類。
6.子類如果只重寫一部分的抽象類方法,那麼該子類還是一個抽象類,
如果抽象類的方法要被使用,子類必須重寫抽象類中的所有方法。

值得注意:抽象類和普通的類沒有太大的不同。
1.抽象類無法通過new關鍵字建立物件
2.抽象類裡面可有抽象的方法

abstract class Animal{
	abstract void sing();
}
class Cat extends Animal{
	void sing(){
		System.out.println("喵喵唱歌");
	}
}
class Dog extends Animal{
	void sing(){
		System.out.println("汪汪唱歌");
	}
}
public class A6_58{
	public static void main(String[] args){
		Animal c=new Cat();
		c.sing();
	}
}