1.final:最终的、不可改变的------单独应用的机率小

  1)修饰变量:变量不能被改变

  2)修饰方法:方法不能被重写

  3)修饰类:类不能被继承

2.static final:常量,应用率高

  1)必须声明同时初始化

  2)通过类名点来访问,不能被改变

  3)建议:常量名所有字母都大写,多个单词用_分隔

  4)编译器在编译时直接将常量替换为具体的值,效率高

3.抽象方法:

  1)由abstract修饰

  2)只有方法的定义,没有方法具体的实现(连{}都没有)

4.抽象类:

  1)由abstract修饰

  2)包含抽象方法的类必须是抽象类,不包含抽象方法的类也可以声明为抽象类-----我乐意

  3)抽象类不能被实例化

  4)抽象类是需要被继承的,子类:

        4.1)重写所有抽象方法--------一般常规的用法

         4.2)也声明为抽象类----------不常用

  5)抽象类的意义:

        5.1)封装子类共有的属性和行为-------------代码复用

         5.2)为所有子类提供一种统一的类型---------向上造型

         5.3)可以包含抽象方法,为所有子类提供统一的入口每个子类的实现不同,但入口是一致的

5.接口:

类和类-----------------继承extends

接口和接口-------------继承extends

类和接口---------------实现implements

  1)是一个标准、规范------------制定方

    遵守了这个标准,就能干某件事------------API后

  2)接口是一种数据类型(引用类型)

  3)由interface定义

  4)只能包含常量和抽象方法

  5)接口不能被实例化

  6)接口是需要被实现的,实现类: 必须重写接口中的所有抽象方法

  7)一个类可以实现多个接口,用逗号隔开,若又继承又实现时,应先继承后实现

  8)接口可以继承接口

     接口是完全抽象的抽象类-----正确的

 

 

 

 示例:

new Inter1(); //编译错误
Inter1 o1; //正确
 
interface Inter1{
  public static final int NUM = 5;
  public abstract void show();
  int COUNT = 5; //默认public static final
  void test(); //默认public abstract
 
  double PI; //编译错误,常量必须声明同时初始化
  void say(){} //编译错误,抽象方法不能有方法体
}

我是初学者,如有更新不好的,欢迎这位大神指出,谢谢大家!

更多精彩以后更新,转载注明!