1. 程式人生 > >Java中的final關鍵字 和 Java中的抽象類

Java中的final關鍵字 和 Java中的抽象類

Java中的final關鍵字

使用final宣告的類不能被繼承;

使用final宣告的方法不能被子類覆蓋;

使用final宣告的變數不能被修改,即為常量;

Java中的抽象類

定義:在java中,含有抽象方法的類稱為抽象類,抽象類不能生成物件;

注意點:

1,包含抽象方法的類是抽象類;

2,抽象類和抽象方法都要用abstract關鍵字修飾;

3,抽象方法只需要宣告而不需要實現;

4,抽象類必須被子類重寫抽象中的全部抽象方法;

5,抽象類不能被例項化;

(1)基本屬性 java抽象類中不一定抽象方法,但是有抽象方法的類一定是java 抽象類;抽象類的抽象方法必須使用abstract修飾;抽象類不可以被例項化,需要依靠繼承該抽象類的子類來完成例項化操作. (2)特點 一個類繼承抽象類,這個類必須是抽象類或者實現該抽象類的全部抽象方法。 (3)抽象類的基本組成部分 成員變數:可以有普通的成員變數,也可以有常量(final修飾) 構造方法:必須有構造方法,否則子類繼承抽象類的時候,子類構造方法的第一行super()(預設存在)無處呼叫,這裡的super()用來完成父類的成員變數初始化。 成員方法:抽象成員方法:需要子類去實現。非抽象成員方法:和普通類的成員方法相同,可以由子類直接繼承

例:

Person.java原始碼:

package com.java22;

public abstract class Person {     public abstract void say1();     public abstract void say2();          public void a() {         System.out.println("a方法");     }

}  

Teacher原始碼:

package com.java22;

public class Teacher extends Person {

    @Override       //此方法必須再次宣告,編譯器新增     public void say1() {         // TODO Auto-generated method stub              }

    @Override         //此方法必須再次宣告,編譯器新增     public void say2() {         // TODO Auto-generated method stub              }

         public static void main(String[] args) {         Person person = new Person();     //錯誤提示,不能被例項化     } }