小白学Java核心知识(面向对象)十七:接口的特点、应用

需要注意:
一、接口是作为一个扩展性功能需要单独列,什么时候想用再拿来用。而普遍性功能要定义在类当中。

1、接口的特点

/*
接口:初期理解,可以认为是一个特殊的抽象类
	当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。
class用于定义类
interface 用于定义接口。

接口定义时,格式特点:
1,接口中常见定义:常量,抽象方法。
2,接口中的成员都有固定修饰符。
	常量:public static final
	方法:public abstract 
记住:接口中的成员都是public的。


接口:是不可以创建对象的,因为有抽象方法。
需要被子类实现,子类对接口中的抽象方法全都覆盖后,子类才可以实例化。
否则子类是一个抽象类。

接口可以被类多实现,也是对多继承不支持的转换形式。java支持多实现。


*/


interface Inter
{
	public static final int NUM = 3;
	public abstract void show();
}

interface InterA
{
	public abstract void show();
}

class Demo
{
	public void function(){}
}

class Test extends Demo implements Inter,InterA
{
	public void show(){}
}


interface A
{
	void methodA();
}
interface B //extends A
{
	void methodB();
}

interface C extends B,A
{
	void methodC();
}

class D implements C
{
	public void methodA(){}
	public void methodC(){}
	public void methodB(){}
}


class InterfaceDemo 
{
	public static void main(String[] args) 
	{
		Test t = new Test();
		System.out.println(t.NUM);
		System.out.println(Test.NUM);
		System.out.println(Inter.NUM);

	}
}

2、接口的应用

/*
abstract class Student
{
	abstract void study();
	void sleep()
	{
		System.out.println("sleep");
	}

}

interface Smoking
{
	void smoke();
}

class ZhangSan extends Student implements Smoking
{
	void study(){}
	public void smoke(){}
}
class Lisi extends Student 
{
}



abstract class Sporter
{
	abstract void play();
}
interface Study
{
}
class wangwu extends Sport implements Study
{
}
*/

class  
{
	public static void main(String[] args) 
	{
		System.out.println("Hello World!");
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_45246666/article/details/107752837