java 抽象类和接口

来源:互联网 发布:最优化方法孙文瑜书 编辑:程序博客网 时间:2024/06/10 09:26

抽象类:有abstract修饰的类,只是定义了什么方法应该存在,不能创建对象,必须派生一个子类,并在子类中实现其未实现的方法后才能创建对象

方法前加上abstract就形成抽象方法,只有方法声明没有实现代码。

抽象类,抽象方法实例:

abstract class Person{public abstract String getDescription();}

抽象类中可以包含非抽象方法和成员变量


抽象类三种类型

1.直接定义一个抽象方法:继承的子类必须实现父类所有的抽象方法否则他仍是抽象类。

class Employee extends Person{public String getDescription(){//....return "";}}

抽象类不能创建对象,一般用它来引用子类对象

Person p;    p=new Employee();
抽象类 抽象类变量名=new 派生自抽象类的具体子类();

2.继承一个抽象父类,但没有完全实现父类包含的抽象方法

3.实现一个接口,但没有完全实现此接口所包容的抽象方法。

public interface IFood{public void Cook();}
public class Duck extends Bird implements IFood{public void Cook(){//....}//...}
IFood f=new Duck();

接口类型 接口类型变量名=new 实现接口的具体类型();

接口语法特性:

定义一个接口采用关键字interface,实现一个接口采用关键字implements

接口成员函数自动变成public,数据成员成为static和final

如果接口不声明为public,则自动变为package

一个类可以同时实现多个接口。


接口扩充:

通过继承接口来扩充已有接口,形成一个新的接口

interface OneInterface {void f1();} interface TwoInterface extends OneInterface {void f2();}

利用接口定义常量,一个类声明了这个接口,可以直接使用,接口中常量必须初始化。

public interface ArrayBound{public static final int LOWBOUND=1;public static final int UPBOUND=100;}

参考:金旭亮Java编程系列(2014版)



原创粉丝点击