一、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(); }