java接口比较,Java接口与抽象类的比较

Java接口与抽象类的比较

Java接口与抽象类的比较

1、  最大的区别:java抽象类可以提供某些方法的部分实现,而java接口不可以。

如果向一个抽象类里加入一个新的具体方法,那么他所有的子类都一下子得到了这个新方法,而java接口做不到这一点。如果向一个java接口里面加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为必须让那个每一个类都再实现这个方法才行,这显然是java接口的缺点。

2、  一个抽象类的实现只能够由这个抽象类的子类给出,也就是说,这个实现处在抽象类所定义出的继承的等级结构中,而由于java语言的单继承性,所以抽象类作为类型定义工具的效能大打折扣。

在这一点上,java接口就的优势就除来了。任何一个实现了一个java接口所规定的方法的类都可以具有这个接口的类型,而一个类可以实现任意多个java接口,从而这个类就有了多种类型。

3、  Java接口是定义混合类型的理想工具。

4、  经典的设计模式:

声明类型的工作仍然由java接口承担,但同时给出一个java抽象类,且实现了这个接口,而其他同属于这个抽象类型的具体类可以选择实现这个java接口,也可以选择继承这个抽象类,这一下同名两个的最大优点都能发挥到极致了。

抽象类    abstract

1: 当一个类只有方法的定义,而没有实现这种情况下我们一般会做成抽象类

public abstract class Ab   {

//无方法体--抽象方法

public abstract void print();

}

2: 当一个类有抽象方法,则本类必须声明为抽象类,反之,一个类声明为抽象类,未必有抽象方法.

3: 一个抽象类不能被实例化.

Ab a=new Ab();//错误

4: 抽象类需要子类去实现抽象方法.

5: 抽象类的子类如果不实现父类的抽象方法,则必须生明为抽象类

6:一般在设计的时候采用抽象类,象设计人员只关心宏观问题,而把方法的具体实现交给别人来做。

接口的特性  interface   实现类为implements

1:接口相当于一种特殊的抽象类,不能有具体实现,全部都是方法的定义,使一种完全抽象的类型。

2:接口与接口之间可以多继承。

3:类和接口之间可以多实现,也就是说一个类可以实现多个接口。

4:一个类可以即继承一个类,又可以实现多个接口。

&

相关文档:

一、同步问题提出

线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。

例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。

public

class

Foo {

private

int

x = 100;

public

int

get ......

与线程休眠类似,线程的优先级仍然无法保障线程的执行次序。只不过,优先级高的线程获取CPU资源的概率较大,优先级低的并非没机会执行。

线程的优先级用1-10之间的整数表示,数值越大优先级越高,默认的优先级为5。

在一个线程中开启另外一个新线程,则新开线程称为该线程的子线程,子线程初始优先级与父 ......

一、面向对象的特征有哪些方面

1.抽象:

抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。

......

//看看如何编写一些复杂的存储过程

一:无返回值的存储过程

为了验证,我先创建一张测试表

create table mytest(myid varchar2(30),myname varchar2(50));

存储过程为:

create or replace PROCEDURE mytest2(id in varchar2,name in varchar2)  as

begin

insert into mytest (myid,myname) valu ......

Java 和 C#的比较

1。访问控制方面:C#有public、internal、protected、private,比java多了个internal,其实它跟java的包访问差不多,internal表示同一个编译集合(如exe、dll)下的类可以互访。

对于protected,java和C#有区别。在java中,protected和包访问级别差不多,即不是私有的。而在C#中,protected和priv ......

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值