java 抽象类和接口

抽象类:有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版)



猜你喜欢

转载自blog.csdn.net/silvester123/article/details/78658120