程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> java抽象、接口 和final,java抽象接口final

java抽象、接口 和final,java抽象接口final

編輯:JAVA綜合教程

java抽象、接口 和final,java抽象接口final


抽象

一、抽象類:不知道是具體什麼東西的類。 abstract class 類名

1.抽象類不能直接new出來。

2.抽象類可以沒有抽象方法。

public abstract class USB {   //抽象類

    //兩個抽象方法,抽象類中也可以不寫抽象方法
    public abstract void qidong();   
    public abstract void tingzhi();//抽象方法不用寫{}
}

 

3.抽象類中,可以有抽象方法,也可以有非抽象方法。抽象類中還可以有成員變量。

4.派生類中,可以不實現某些抽象方法,但派生類必須要聲明為抽象類。

public abstract class Shubiao extends USB{
    
    public void qidong(){
        System.out.println("鼠標運行");
    }

    //父類的tingzhi()的方法沒重寫 ,子類也要改成abstract抽象的。
}

二、抽象方法:不知道具體是干什麼事情的方法。abstract 返回類型 函數名(形參);

1.抽象方法沒有函數體。

2.有抽象方法的類必須是抽象類。

遇到抽象類,兩種用法:

1.找找有沒有它的派生類,用它的派生類。

2.自己寫一個類,派生自這個抽象類。

package com.itnba.may.Demo1229;

public abstract class USB {   //抽象類
    //兩個抽象方法
    public abstract void qidong();   
    public abstract void tingzhi();
}

接口

可以理解為一種特殊的抽象類。裡面只有常量和抽象方法(不需要寫abstract)。

接口可以多實現(繼承),抽象類只能是單位繼承。

定義:

interface 接口名 [extends 父接口列表]{
  final 類型 常量名=值;
  public void 方法名(形參);
}

public interface USB {   //定義一個接口

    public void qidong();   
    public void tingzhi();
}

接口的實現:

[abstract] class 類名 extends 父類 implements 接口名,接口名,....{

public class Shubiao implements USB{
    
    @Override
    public void qidong(){
        System.out.println("鼠標運行");
    }
  
    @Override
    public void tingzhi() {
        System.out.println("鼠標拔出了");
    }
    //如果有接口的方法沒重寫 ,類要改成abstract抽象的。
}

接口定義的時候:

1.接口盡量的小,功能太復雜的。——接口分離原則。

2.接口定義的時候,接口名子,盡量是形容詞,或者是描述性質的詞。

final 的幾種修飾用法

final可以修飾成員變量,成員方法,類。

1.final修飾類:此類不能被繼承。

2.final修飾成員變量:可以當常量來用。

3.final修飾方法:不能被子類的方法覆蓋(重寫),但可以被繼承。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved