JAVA中的接口

/*
 * 接口定义时,格式特点:
 * 1、接口中常见定义:常量,抽象方法
 * 2、接口中的成员都有固定修饰符
 * 		常量:public static final
 * 		方法:public abstract
 * 记住:接口中的成员都是public的
 * 
 * 接口是不可以创建对象的,因为有抽象方法
 * 需要被子类实现,子类对接口中的抽象方法全部覆盖后,子类才可以实例化
 * 否则子类是个抽象类
 * 
 * 接口可以被类多实现,也是对多继承不支持的转换形式
 * (接口可以多继承,如果所有父接口里面同名函数的返回值相同)
 * 
 * */

interface Inter {
	public static final int NUM = 3;

	public abstract void show();

}

interface InterA{
	public abstract void method();
}

interface A extends InterA{
	
}

class Test1 implements Inter,InterA {
	public void show() {
		System.out.println("123");
	}
	public void method(){} 

}

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

上面的输出结果都是3,Test1.NUM和Inter.NUM应为NUM是静态的,所以可以被类名直接调用

举例子:

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

interface Smoking{
	void Smoke();
}

class ZhangSan extends Student5 implements Smoking{
	void study(){}
	public void Smoke(){}
}

class LiSi extends Student5{
	void study(){}
}

public class InterfaceDemo2 {

}

上面的例子中,学生一定会学习和睡觉,但是不一定会抽烟,所以如果把抽烟直接放在学生类中是不行的,所以利用接口,让张三继承学生类实现抽烟接口,这样张三就又是学生,又会抽烟。而李四只继承学生不实现抽烟,那他就不会抽烟。这样定义更符合现实生活。


                                                                                           ---------------------By   仔鸡


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值