java中接口和抽象类

抽象方法:在某些情况下,基类无法(或者没有必要)提供被覆盖方法的具体实现,那么就可以将此方法声明成抽象方法;
当一个类中有抽象方法时就要将这个类写为抽象类。
抽象类的一般语法:访问权限  abstract class 类名{
                       成员列表
                          }
抽象方法的一般语法:访问权限 abstract 返回值类型 方法名(参数列表);
例如:   public abstract void draw();

注意:1.抽象类不能被实例化。
     2.构造方法和static是不能被抽象的。
     3.父类的抽象方法往往在子类中实现。
     4.抽象类的派生子类应该提供对其所有抽象方法的具体实现,可以这么认为,抽象方法实际上就是由抽象基类强制要求其派生子类必须实现的方法原型
如果抽象类的派生子类没有实现其中的所有抽象方法,那么该派生子类仍然是抽象类,只能用于继承,而不能实例化;
抽象类中也可以包含有非抽象的方法;

       以上几点都是大家应该注意的点哦!!!!

接口:如果某个类中的所有方法都是抽象方法那么可以考虑将这个类定义为接口呢
接口的一般语法: 访问权限  interface 接口名 {
                        成员列表
                            }
例如:   public  interface draw{
                             .....
                          }

如果某类要实现接口的话,应该使用implements关键字
一般语法:访问权限 类名 class implements 接口名{
                       成员列表
                          }
例如:  public draw class implements myinterface{
                     ....
        }




以上就是接口的简单实现
简单的说一下特别需要注意的几点
1.接口中的方法都为抽象方法,不能有方法体,并且不用写abstract
2.在接口中访问权限不写默认为publi
3.抽象类中不一定全部都是抽象方法
4.子类在实现接口时,应该实现接口中的所有方法,否则子类也是一个抽象类,不能被实例化,只能用来继承
5.接口当然也有它的好处咯,因为在java中不支持类的多重继承,但是可以实现多个接口,所以接口解决了这个问题,并且可以提高程序的可扩展性和可维护性
6.实现同一接口使用不同的实例执行不同的操作,这个我们称之为多态。

     这就是我自己总结的一些抽象类和接口的用法和描述,希望各位大神给点意见  


猜你喜欢

转载自674993741.iteye.com/blog/2315963