码迷,mamicode.com
首页 > 编程语言 > 详细

《java入门第一季》之面向对象(谈谈接口)

时间:2016-05-07 08:46:25      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

软件中有接口,这里的接口与硬件中的接口还是有很大区别的。

这里介绍接口不考虑JDK8的新特性(JDK8开始接口里面可以有非抽象方法了,介绍JDK8新特性可能要到整个第一季写完吧!)

还是直接进入接口的学习:

/*
	接口的特点:
		A:接口用关键字interface表示	
			interface 接口名 {}
		B:类(实现)接口用implements(执行,实现)表示
			class 类名 implements 接口名 {}
		C:接口不能实例化,就是说不能凭空的创建对象
			那么,接口如何实例化呢?
			按照多态的方式来实例化。//类比多态的方式进行实例化
		D:接口的子类
			a:可以是抽象类。但是意义不大。
			b:可以是具体类。要重写接口中的所有抽象方法。(推荐方案)
	
*/
//定义动物培训接口
interface AnimalTrain {
	public abstract void jump();
}

//抽象类实现接口,无意义
abstract class Dog implements AnimalTrain {
}

//具体类实现接口,实现特殊的东西.接口实现类
class Cat implements AnimalTrain {//class 类名 implements 接口名{}
	public void jump() {
		System.out.println("猫可以跳高了");
	}
}

class InterfaceDemo {
	public static void main(String[] args) {
		//AnimalTrain接口是抽象的; 无法实例化
		//AnimalTrain at = new AnimalTrain();
		//at.jump();
		//按照多态的方式来实例化接口。
		Cat at = new Cat();//自己类
		at.jump();
		AnimalTrain a = new Cat();//多态
		a.jump();
	}
}

/*
	类与类:
		继承关系,只能单继承,可以多层继承。
	类与接口:
		实现关系,可以单实现,也可以多实现。   class Son extends Object implements Father,Mother {}
		并且还可以在继承一个类的同时实现多个接口。例如:class Son (extends Student) implements Father,Mother {}
	接口与接口:
		继承关系,可以单继承,也可以多继承。
*/
interface Father {
	public abstract void show();
}

interface Mother {
	public abstract void show2();
}

interface Sister extends Father,Mother {

}

//class Son implements Father,Mother //多实现
class Son extends Object implements Father,Mother {
	public void show() {//实现关系,可以单实现,也可以多实现。
		System.out.println("show son");
	}
	
	public void show2() {
		System.out.println("show2 son");
	}
}

class InterfaceDemo3 {
	public static void main(String[] args) {
		//创建对象
		Father f = new Son();
		f.show();
		//f.show2(); //报错,Father接口中没有show()2所以报错	要想使用可以通过向下转型
		Mother m = new Son();
		//m.show(); //报错原因同上
		m.show2();
	}
}


《java入门第一季》之面向对象(谈谈接口)

标签:

原文地址:http://blog.csdn.net/qq_32059827/article/details/51335192

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!