接口和抽象类

抽象类

  1. 抽象类有静态代码块,构造方法,抽象方法,

  2. 四种修饰符修饰的:普通方法,静态方法,普通变量, 静态成员变量

  3. 抽象方法只有两种修饰符:public 和 protected

  4. 抽象类可以有抽象方法,也可以没有

  5. 抽象类可以继承接口

abstract class Hello
{
	//成员变量
	int a=10;
	public static String str="hello world !";
	static int nums=30;
	private static int nu=30;
	//静态代码块
	static{}
	//构造方法
	public Hello(){}
	//普通方法
	public void print(){}
	protected void print1(){}
	void print2(){}
	private void print3(){}
	//抽象方法
	public abstract void print4();
	protected abstract void print5();
	//private abstract void print6();//报错,抽象方法只能设置public或者protected
	//可以有四种修饰符的静态方法
	public static void print7(){}
}

接口

  1. 接口可以extends接口

  2. 定义常量和抽象方法

  3. 接口可以定义默认方法时,需要其实现类调用。

  4. 两个接口有同名的默认方法时,一个类同时实现两个接口时会报错,后代分别实现也不行,只要实现的接口有同名默认方法就会报错,建议重写。但是两个同名的static方法就不会报错

  5. 接口调用静态方法,直接用接口名称调用。

interface jie
{
	public default void speak()
	{
		System.out.println("jie");
	}
	public static void num()
	{
		System.out.println("");
	}
	int a=10;
	public static final int b=20;
}
interface kou //extends jie 接口可以继承接口
{
	public default void speak()
	{
		System.out.println("kou");
	}
}
//报错
class A implements jie //父类实现了jie
{
}
class B extends A implements kou //子类实现了kou
{
}
//虽然父类A和子类B分别实现的接口jie和接口B,但是有同名的默认方法,报错
//类C同时实现两个有相同默认方法的报错
class C  implements jie,kou	 //报错
{
}
//但是当接口kou实现接口jie,然后其他类实现时就不会出现问题,类似于子类覆盖
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值