1. 程式人生 > >Java final關鍵字、抽象類、接口

Java final關鍵字、抽象類、接口

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關鍵字、抽象類、接口