Java final關鍵字、抽象類、接口
阿新 • • 發佈:2019-02-27
imp 最終 必須 true extend say 如果 ike 就是
final關鍵字在Java中被稱為完結器,表示最終的意思:
final能聲明類、方法、屬性:
1、使用final聲明的類不能被繼承;
2、使用final聲明的方法不能被重寫;
3、使用final聲明的變量變成常量,不可以被修改。(常規大寫)
抽象類概念:
包含一個抽象方法的類就是抽象類;
抽象方法:
聲明而未被實現的方法,抽象方法必須使用abstract關鍵字聲明
抽象類被子類繼承,子類(如果不是抽象類)必須重寫抽象類中的所有抽象方法
定義格式:
abstract class className{
屬性;
方法;
抽象方法;
}
抽象類不能直接實例化,要通過其子類進行實例化。
package com.jike.finalDemo; abstract class Abs{ private int age; public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void tell() { } public abstract void say(); } class AbsDemo extends Abs{ public void say() { System.out.println(getAge()); } } public class abstractDemo { public static void main(String[] args) { AbsDemo absDemo=new AbsDemo(); absDemo.setAge(50); absDemo.say(); } }
輸出:
50
接口是Java中最重要的概念,接口可以理解為一種特殊的類,裏面全部是由全局常量和公共的抽象方法組成。
接口的格式:
interface interfaceName{
全局常量
抽象方法
}
接口的實現也必須通過子類,使用關鍵字implements,而接口是可以多實現的;
一個子類可以同時繼承抽象類和實現接口;
一個接口不能繼承一個抽象類,但是可以通過extends關鍵字同時繼承多個接口,實現接口的多繼承。
package com.jike.finalDemo; interface Inter{ public static final int AGE=50; //全局常量,大寫 public abstract void tell(); //抽象方法 } interface Inter2{ public abstract void say(); } abstract class Abs1{ public abstract void print(); } class A extends Abs1 implements Inter,Inter2{ //接口的實現也必須通過子類,使用關鍵字implements,而接口是可以多實現的;一個子類可以同時繼承抽象類和實現接口; public void tell() { System.out.println("A的tell方法"); } public void say() { System.out.println("say something"); } public void print() { System.out.println("print something"); } } interface Inter3 extends Inter,Inter2{ //接口可以繼承多個接口,類不能多繼承 } public class interfaceDemo { public static void main(String[] args) { // Inter i=new Inter(); //接口不能直接實例化 A a=new A(); a.tell(); System.out.println(Inter.AGE); a.say(); a.print(); } }
輸出:
A的tell方法 50 say something print something
Java final關鍵字、抽象類、接口