抽象类与接口

1.抽象类

1.1概念:本质是和父类一样的,但我们从学生出发向上走,

学生
生物

是不是变得越来越难以描述其具体是什么,变得越来越抽象,这就是抽象类。
—————————————————————————————————

1.2.实现

public abstract class Person{
/*里面用来实现抽象方法*/
}

对于一个抽象类到底有多抽象取决于它到底有多少子类,就有多少要实现的方法就有很多。
抽象方法和抽象类差不多,就是有子类所共有的。

public abstract class Person{
  public abstract void walk();
  /*抽象方法不用去具体实现,所以就不用{},直接用;结尾。*/
  /*有一个抽象方法就必为抽象类,final不与抽象一起*/
}

1.3.子类继承
子类在继承是要把抽象类中的所有方法都给实现(并不是都要写内容)才行,不然会报错。

public class Student extends Person{

	@Override
	public void walk() {
		// TODO 自动生成的方法存根
		
	}
}

—————————————————————————————————
如果我们希望我们的程序可以多重继承,可是Java中规定一个子类有一个父类,而我们想一个子类有多个父类就需要接口。

—————————————————————————————————

2.接口

2.1.概念:一种特殊的抽象类,用interface来定义,需要用implements去实现,可以用于补充。
在这里插入图片描述

2.2.实现
接口在创建时会有单独的类型。其形式:

public interface Interface1 {

	/**
	 * 1.成员变量会默认 public static final.
	 * 2.无构造器
	 */
	public abstract void sleep();

}

在使用时候:

public abstract class Person implements Interface1 {

	/**
	 * Default constructor
	 */
	public Person() {
	}

	/**
	 * 这是Person原本的方法
	 */
	public abstract void walk();

	/**
	 * 这是接口的
	 */
	public abstract void sleep();

}

然后就由子类去实现其具体功能:

public class Student extends Person{

	@Override
	public void walk() {
		// TODO 自动生成的方法存根
		
	}

	@Override
	public void sleep() {
		// TODO 自动生成的方法存根
		
	}
}

还有一种使用方法既继承(先实现)又有接口(后),当有多个接口时
用,进行分隔。:

public class Student extends Person implements Importw{

	@Override
	public void walk() {
		// TODO 自动生成的方法存根
		
	}

	@Override
	public void sleep() {
		// TODO 自动生成的方法存根
		
	}

	@Override
	public void Show() {
		// TODO 自动生成的方法存根
		
	}

	@Override
	public int ShowInfo() {
		// TODO 自动生成的方法存根
		return 0;
	}

}

2.3.使用时可以用new去测试接口类的方法用到了多态

public class Test3 {

	public static void main(String[] args) {
	/*当我们去创建Student类型的对象,对于引用变量i,
	*它只能访问它本身类型中的方法。
	*而存在同名方法,使用的为实际实例的对象。
	*/
		Importw i=new Student();
	}
}

3.总结

接口通常和抽象类一同使用。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

i s s a

感谢大佬支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值