java基础之接口

抽象

Java中用abstract关键字修饰的就是抽象的,具体可以用来外部类和方法

抽象方法

一个方法没有方法体那么这个方法就是抽象方法,需要用abstract关键字修饰.
格式: 修饰符 abstract 返回值类型 方法名(形参列表)
注: 抽象方法没有方法体,所以不能定义抽象方法是不可以加{}

抽象类

如果一个类中存在抽象方法,那么这个类就是抽象类
格式: public abstract class 类名{}

抽象类的使用
	抽象类不能直接创建对象,必须通过子类来创建对象,如果该类的子类想创建对象,那么必须重写该类中定义的抽象方法,否则子类依旧是抽象方法
注: 
	1.abstract不能和static一起修饰方法 因为静态是可以直接被被类调用的,抽象方法不能被直接调用
	2.abstract不能和private一起使用,因为抽象需要继承后重写才能使用,private修饰的方法不能被继承
	3.abstract不能和final一起使用,因为final修饰的方法不能被重写

抽象类举例

	//定义一个员工的抽象类
	abstract class Employee{
		String name;
		int age;
		char sex;
		//员工都有工作,定义为抽象
		public abstract void work();
	}
	//定义一个程序员员工类,继承员工类
	class Programmer extends Employee{
		//这里必须重写员工类的抽象方法,否者就需要将本类也定义为抽象类
		public void work(){
		System.out.println("敲代码");
		}
	}
	//定义一个Hr员工类
	class Hr extends Employee{
		public void work(){
			System.out.println("人事管理");
		}
	}
	//测试类
	public class test {
		public static void main(String[] args) {
			//通过子类来实例化一个抽象类对象
			Employee e=new Programmer();
			//多态的应用,这里调用的就是程序员类的方法
			e.work();
			//同理想要调用Hr类的方法只要通过多态就可以完成,如果想要调用子类中独有的方法,那么只能通过子类类型对象去调用
		}
	}

接口

关键字 interface
定义: 全部都是抽象方法的特殊类
一般用来定义规则和标准
使用格式:
	public interface 接口名{
		抽象方法和常量
		//jdk1.8中可以有其它方法
	}
接口的使用:
	关键字: implements
	格式: 类 implements 接口1,接口2.....
	注:
		1.类是单继承的,接口是可以多继承,多实现的
		2.接口和抽象类一样也不可以实例化对象
		3.接口的实现类必须重写接口的所有抽象方法,否者该类只能是抽象类

类,抽象类,接口之间的区别

类 class 
	有属性,方法,代码块,内部类
	可以创建和实例化对象
	可以继承其它类,实现接口
抽象类 abstract class
	普通类中可以有的抽象类中都可以有,还可以有抽象方法(抽象类中不一定有抽象方法,但是有抽象方法的类必定是抽象类)
	不能实例化对象,只能通过子类来实例化,子类必须重写所有抽象方法
	可以继承其他类,实现接口
接口 interface
	只能有常量和抽象方法
	不能实例化对象,只能通过子类来实例化,子类必须重写所有抽象方法
	可以继承多个接口,不能实现接口

访问修饰符

能否访问本类本包子类任何
private可以
默认可以可以
protected可以可以可以
public可以可以可以可以
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值