一、final關鍵字在java中被稱爲完結器,表示最終的意思java
二、final能聲明類,方法,屬性:this
使用final聲明的類不能被繼承
code
使用final聲明的方法不能被重寫
繼承
使用final聲明的變量變成常量,常量是不能夠被修改的(常量名所有大寫)
接口
抽象類
get
一、抽象類概念:class
包含一個抽象方法的類就是抽象類
變量
二、抽象方法:方法
聲明而未被實現的方法,抽象方法必須使用abstract關鍵字聲明
im
三、抽象類被子類繼承,子類(若是不是抽象類)必須重寫抽象類中的全部抽象方法
四、定義格式:
abstract class className{
屬性
方法
抽象方法
}
五、抽象類不能直接實例化,要經過其子類進行實例化
package com.jk.classdemo; abstract class Student{ private String name; private int age; public void tell(){ } public abstract void say(); /** * @return the name */ public String getName() { return name; } /** * @param name the name to set */ public void setName(String name) { this.name = name; } /** * @return the age */ public int getAge() { return age; } /** * @param age the age to set */ public void setAge(int age) { this.age = age; } } class AbsDemo extends Student{ public void say(){ System.out.println("name:"+getName()+" "+"age:"+getAge()); } } public class AbstDemo01 { public static void main(String[] args) { // TODO Auto-generated method stub AbsDemo a=new AbsDemo(); a.setName("ddd"); a.setAge(20); a.say(); } }
接口
一、接口能夠理解爲一種特殊的類,裏面所有是由全局常量(常量必須大寫)和公共的抽象方法所組成
二、接口的格式:
interface interfaceName{
全局常量
抽象方法
}
三、接口的實現也必須經過子類,使用關鍵字implements,並且接口是能夠多實現的
package com.jk.classdemo; interface inter1{ public static final int AGE=30; abstract public void say(); } interface inter2{ public static final String NAME="zhangsan"; abstract public void tell(); } class Imp implements inter1,inter2{ public void say(){ System.out.println(AGE); } public void tell(){ System.out.println("hello"); } } public class InterDemo01 { public static void main(String[] args) { // TODO Auto-generated method stub Imp im=new Imp(); im.say(); System.out.println(inter1.AGE); im.tell(); System.out.println(inter2.NAME); } }
四、一個子類能夠同時繼承抽象類和實現接口
package com.jk.classdemo; interface inter1{ public static final int AGE=30; abstract public void say(); } interface inter2{ public static final String NAME="zhangsan"; abstract public void tell(); } abstract class Abs1{ public abstract void print(); } class Imp extends Abs1 implements inter1,inter2{ public void say(){ System.out.println(AGE); } public void tell(){ System.out.println("hello"); } public void print(){ System.out.println("welcome"); } } public class InterDemo01 { public static void main(String[] args) { // TODO Auto-generated method stub Imp im=new Imp(); im.say(); System.out.println(inter1.AGE); im.tell(); System.out.println(inter2.NAME); im.print(); } }
五、一個接口不能繼承一個抽象類,可是卻能夠經過extends關鍵字同時繼承多個接口,實現接口的多繼承
interface inter1{ public static final int AGE=30; abstract public void say(); } interface inter2{ public static final String NAME="zhangsan"; abstract public void tell(); } interface inter3 extends inter1,inter2{ } abstract class Abs1{ public abstract void print(); }