黑马程序员技术交流社区

标题: 接口中可以有属性吗??、 [打印本页]

作者: 侯慧杰    时间: 2012-7-9 10:35
标题: 接口中可以有属性吗??、
属性在某种程度上是不是相当于一个方法????????????
作者: 许庭洲    时间: 2012-7-9 10:40
1,接口中允许有属性;
2,属性在某种程度上不相当于方法,因为没有函数体;
3,举个例子:  接口中定义一名为Age的属性  
public interface IAttribute  
{  
     string Age{ get;set;}  
}  
作者: 常静华    时间: 2012-7-9 11:34
可以有,但是不能够有实现,如:
interface Interface1
  {
  int Name { get; set; }
  }
只能写get,和set,到具体类实现的时候才确定get的是哪个字段的值,set的是哪个字段的值。
作者: 侯慧杰    时间: 2012-7-9 12:27
常静华 发表于 2012-7-9 11:34
可以有,但是不能够有实现,如:
interface Interface1
  {

也就是说接口中不能有字段嘛??
作者: 朱亮辉    时间: 2012-7-9 14:02
侯慧杰 发表于 2012-7-9 12:27
也就是说接口中不能有字段嘛??

是的,接口中是不能有字段的,属性相当于是两个方法,而接口可以存在方法,所以可以有属性!
作者: 古古头    时间: 2012-7-9 19:25
本帖最后由 古古头 于 2012-7-9 19:30 编辑

接口可以有方法,属性和事件,但都是未实现的。
作者: 钱灿    时间: 2012-7-9 20:46
接口可以有属性. 不能包含字段、构造函数、析构函数、静态成员或常量。
作者: 黑马杨凯    时间: 2012-7-10 01:56
接口中可以有属性,但是不能定义字段,属性的get,set中一样不能使用具体的字段,没有指定怎样存储属性数据
作者: 魏振龙    时间: 2012-7-10 14:36
接口可以有属性,但不能够确定
如:interface Interface1  
  {  
  int Name { set; }  
  }  
在这个接口中我不知道要给Name 赋什么值,因为他有很多值可取,如:
Class Cat : Interface1  
{
  int name=3;
}

Class Dog: Interface1  
{
  int name=5;
}

所以说在接口中这个属性值不确定,这就是为什么在接口中定义属性的意义所在
作者: 。_Smileヾ淡莣    时间: 2012-7-12 23:38
接口中可以有属性;set,get;是方法;但是接口中不能存在方法体;也就是说:只能有方法public static void show();
不能存在方法体:如public static void show(){system.out.println("hello java")};




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2