Java中的抽象类和接口

一、抽象类和抽象方法

Java中使用abstract关键字来描述抽象类和抽象方法。

抽象方法的定义方式为“访问修饰符 abstract 返回值类型 方法名(参数列表);”

public abstract String NoOfWheels();
如果含有一个抽象方法,则这个类称为抽象类,抽象类必须在类定义的时候使用abstract关键字。

抽象类的定义方法为“访问控制修饰符 abstract class 类名{}”

public abstract class Vehicle {
}
因为抽象方法只定义,并不给出方法实现,所以不能用抽象类创建对象。

含有抽象方法的类一定是抽象类,但是抽象类不一定都有抽象方法,且抽象类中可以定义普通的成员方法。

抽象方法必须定义为public或者protected的权限,因为如果定义为private,私有的成员不能被子类继承,子类便无法实现该方法,缺省的情况下默认为public。

如果一个类继承了抽象类,则子类必须实现抽象类中的抽象方法。

二、接口

接口(Interface),是供别人调用的方法或者函数。定义一个接口的用“public interface 接口名{}”

public interface Vehicle {
}

接口中的所有方法都是抽象的,他是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,没有变量和方法的实现。

接口中的变量会默认的设置为“public static final”,一般不在接口中定义变量

接口中的方法只能是“public abstrac”的。因此,接口中的所有方法都不能有具体的实现

类实现接口使用关键字implements,一个类可以实现多个接口

public class Bus implements Vehicle{
}
普通的类若实现了一个接口,则必须实现接口中的所有抽象方法
public interface Vehicle {
	void start();
	void stop();
}
public class Bus implements Vehicle{
	public void start(){
		System.out.println("Bus start");
	}
	public void stop(){
		System.out.println("Bus stop");
	}
}
类若继承了类且实现了接口,则extends关键字必须在implements之前

public class Men extends Door implements Features {
}

三、抽象类和接口的区别

1. 抽象类中可以允许方法的实现,接口中只能存在抽象方法,不能有方法的实现;
2. 抽象类中的变量可以是各种类型的变量,而接口中的变量只能是public static final类型的;
3. 一个类只能继承一个抽象类,而一个类可以实现多个接口。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值