Chinaunix首页 | 论坛 | 博客
  • 博客访问: 522104
  • 博文数量: 147
  • 博客积分: 10105
  • 博客等级: 上将
  • 技术积分: 1594
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-14 10:18
文章分类

全部博文(147)

文章存档

2011年(4)

2010年(4)

2009年(6)

2008年(5)

2007年(40)

2006年(88)

我的朋友

分类:

2006-11-10 11:34:01

接口——interface;

抽象类——abstract class;

A:接口其实就是一个完全的抽象类,也就是说接口里面的全部都是抽象方法(abstract method);

B:如果一个类没有实现接口里所定义的全部方法,那么这个类就是一个抽象类,所以就必须在类声明中加上abstract;

C:在接口中声明的变量,会自动地成为类常量,所以不需要自行加上static和final的修饰符;

D:由于接口中的方法全部都是抽象方法,所以不需额外加上absstract这个关键字;

E:抽象类不能直接用new的方法实例化对象,当然借口就更不可以了

 

包含了抽象方法的类叫抽象类,

抽象方法,是只有方法的声明没有方法的主题。

如果一个类包含了一个或者多个抽象方法那么类的声明必须abstract 

抽象类不能生成实例,所以在一个 没有抽象方法的的类中可以也声明为声明抽象类。这样做可以可以禁止哪个类的任何实例

 

1。抽象类与接口在设计时各有什么好处?

2。静态方法与实例方法的区别?

最基本的区别是:

接口是一种协议,一种约定,一旦发布,就不能更改,只能通过定义新接口来增加功能。而且接口内定义的成员不能在接口中实现。接口中的成员都是“抽象”的。

抽象类可以部分实现成员。而且随意增加新成员,这在一个发布的已被使用
接口中是不能的。

当然,如果你想把项目从头再来一遍,什么都可改变。可微软发布的 .Net 中的大量接口估计永远也不会改了。这就是接口。而 .Net 的新版本可以对某些类包括抽象类进行一些增强,却不会影响你原来的代码在新版本上的运行。而接口的更改将可能你导致重新编写代码。

 
 
 
 
 
类是面向对象程序编程中非常重要的一个概念。通过继承,可以从原来的类派生出新的类。原有的类称为基类(base class)或父类。

  Java中有一种专门的类来作为父类,这种类就是“抽象类”(abstract class)。抽象类有点类似“模板”的作用,其目的是要依据它的格式来修改并创建新的类。但是并不能由抽象类创建对象,只能通过抽象类派生出新的类,再由它来创建对象。

   抽象类的定义语法中,method的定义可分为两种:一种是一般的method,它和普通类的方法没什么区别。另一种是"抽象方法"(abstract method)。它是以abstract关键字为开头的method,此method只声明了返回值的数据类型、method名称与所需的参数,但没有定义处理的方式。

   某一子类继承于某个抽象类是,使用关键字extends

   接口(interface)是Java所提供的另一种重要功能,它的结构和抽象类非常相似。接口本身也具有数据成员与抽象方法,但它与抽象类有下列两点不同:

  1、接口的数据成员必须初始化。

  2、接口里的method必须全部都声明成abstract,也就是说,接口不能像抽象类一样保有一般的method,而必须全部是"抽象方法"。

  子类继承之接口时,须关键字“implements”

阅读(510) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~