java接口与抽象类

抽象类

抽象类abstract关键字声明

抽象方法abstracet关键字声明

类只能继承一个类,但可以实现(implements)多个接口

抽象类不能创建实例

代码如下

package abstractandinterface;
/*
 * abstract 抽象类可以实现一部分
 * 
 * 
 */
public abstract class  Animals {//这是一个抽象类

	public String name;
	public int age;
	public Animals()
	{
		name="animals";
		age=10;
	}
	public Animals(String name,int age)
	{
		this.name=name;
		this.age=age;
	}
	public abstract void run();//声明一个抽象方法
}

 

当子类继承了抽象类后,必须实现所有的抽象方法,否则子类依旧是抽象类。

接口

接口时一种特殊的类,编译后依旧是.java文件

接口可以继承多个接口,没有继承的接口会叠加下来

类实现接口,就必须实现所有未实现的方法

代码如下

package abstractandinterface;

/*
 * interface里的默认都是public,且全部方法不实现
 * 
 * 
 */
public interface Action {//这是一个接口

	public void eat();
	public void move();
}

子类继承抽象类与实现接口的代码

package abstractandinterface;
/*
 * 这是一个继承和实现接口的类
 * 
 * 
 */
public class Cat extends Animals implements Action{

	public void eat()
	{
		
	}
	public void move()
	{
		
		
	}
	public void run()
	{
		
	}
}

总结

1.抽象类abstract,接口interface

2.抽象类可以有部分方法实现,接口所有方法不实现

3.一个类只能继承一个类,但是可以实现多个接口

4.接口可以继承多个接口

5.抽象类有构造器,接口没有

6.抽象类可以有main函数,接口不行

7.抽象类可以有private/protect,但是接口都是public的

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值