Java基础之接口抽象类的内部实现

/**==============================
 * 定义内部接口
 * 
 *
 **==============================*/
abstract class A{
	public abstract void printA();
	interface B{
		public void printB();
	}
};
class X extends A{
	public void printA(){
		System.out.println("X......printA()");
	}
	class Y implements B{
		public void printB(){
			System.out.println("X.Y====printB()");
		}
	}
};

public class InnerDemo8 {
   public static void main(String[] args){
	   A x=new X();
	   x.printA();
	   //内部类接口调用,向上转型
	   A.B y1=new X().new Y();
	   y1.printB();
   }
}


java接口在内部抽象类..........

/**==============================
 * 定义内部抽象类
 * 
 *
 **==============================*/
interface  A{
	public abstract void printA();
	 abstract class  B{
		public abstract void printB();//需要关键字声明
	}
};
class X implements A{
	public void printA(){
		System.out.println("X......printA()");
	}
	class Y extends B{
		public void printB(){
			System.out.println("X.Y====printB()");
		}
	}
};

public class InnerDemo8 {
   public static void main(String[] args){
	   A x=new X();
	   x.printA();
	   //内部类接口调用,向上转型
	   A.B y1=new X().new Y();
	   y1.printB();
   }
}

总结:接口和抽象的实现几乎是一样的,但是,从个人的开发角度来看,这种设计并不是很常见。这样做代码的结构看起来比较混乱。

接口与抽线类的区别:

NO

区别

抽象类

接口

1

定义

包含一个抽象的方法的类

抽象方法和全局常量的集合。

2

组合

构造方法、抽象方法、普通方法、常量、变量

常量、抽象方法

3

使用

子类继承抽象类(extends)

子类接口的实现(Implements

4

关系

抽象类可以实现多个接口

接口不能继承抽象类,但允许继承多个接口

5

常见设计模式

模版设计

工厂设计、代理设计

6

对象

都通过对象的多态性来产生实例化对象;

7

局限

抽象类有单继承的局限

接口没这局限

8

实际

作为一个模版

是一个标准或表示一种能力

9

选择

优先使用接口,避免单继承的局限性

10

特殊

一个抽象,类可以包含多个接口,一个接口中可以包含多个抽象类。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值