date0406/InterfaceTest.java

/*
基类,都是运动员
两个足球倶乐部的人当然也是运动员
运动员当然都有play()方法,只不过实现的方法不一样
而吸烟则是可有可无的功能,不是运动员必须具有的功能,所以吸烟就是扩展功能,用implements去让有该功能的类去实现。

以上描述简单来说,就是父类必须有的功能,就定义成class类,子类去继承,因为子类是该class体系中的一员;
				      子类也可以有自己扩展的功能,该功能不是体系必有的,该扩展功能就定义在interface类中,子类去implements实现。

只有对抽象类和接口类中的抽象方法都实现后,才能建立子类对象。


*/
abstract class Sporter		//运动员必须具备的功能。
{
	abstract void play();
}

interface Smoking			//扩展功能,不是运动员必须具备的功能,因为有的运动员有吸烟,有的运动员没有吸烟
							//所以不能将它放在被继承的类中去。
{
	public abstract void smoke();
}

class FootballClubA extends Sporter implements Smoking	//FootballClubA继承必须有的功能,也有扩展不必须有的功能
{
	public void play()
	{
		System.out.println("play football");
	}

	public void smoke()
	{
		System.out.println("smoke huanghelou");
	}
}

class FootballClubB extends Sporter						//FootballClubB继承必须有的功能
{
	public void play()
	{
		System.out.println("play football");
	}
}

class InterfaceTest 
{
	public static void main(String[] args) 
	{
		FootballClubA foota = new FootballClubA();		//子类把抽象方法都实现后,才能建立子类对象
		FootballClubB footb = new FootballClubB();
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Incorrect date value: '1' for column 'Atime' at row 1 at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:104) at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1092) at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1040) at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1347) at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:1025) at DMS.AddLater.actionPerformed(AddLater.java:127) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342) at java.desktop/java.awt.Component.processEvent(Component.java:6400) at java.desktop/java.awt.Container.processEvent(Container.java:2263) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) at
06-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值