黑马程序员技术交流社区

标题: 抽象类中抽象是默认的吗? 高手 能帮我用代码写一下在什么时候抽象类中不用抽象 [打印本页]

作者: 。_Smileヾ淡莣    时间: 2012-5-22 17:14
标题: 抽象类中抽象是默认的吗? 高手 能帮我用代码写一下在什么时候抽象类中不用抽象
抽象类中抽象是默认的吗?
高手 能帮我用代码写一下在什么时候抽象类中不用抽象方法?
作者: 邹颖    时间: 2012-5-22 17:42
1.抽象类中抽象是默认的吗?
   我也刚刚学到这里,  不是默认的,  但是既然这个类是抽象类, 那么其中就一定有抽象方法。
2.能帮我用代码写一下在什么时候抽象类中不用抽象方法?
      可以的.     代码我不会, 还没学到哪.
      另:  类中如果都想是抽象方法,可以用接口来实现~~~~~~~~~~~~~~~~~~~~.求鼓励..


也不知道对不对, 老鸟请指点.
   
作者: 魏涞    时间: 2012-5-22 19:13
      一个抽象类中方法都不是抽象方法是可以的,不过有其特殊的意义。用了abstract修饰类,该类就不能创建对象,这种类的方法一般情况下都是有方法体,但方法体内的内容是空的。
    一个接口在被实现时,实现类必须实现该接口所以抽象方法,但有了上面说到的抽象类时,我们只需要继承该类,只需要覆盖需要使用的方法就行了。
    API中就有这么一个抽象类,WindowAdapter。
作者: 黄克帅    时间: 2012-5-22 19:51
含有抽象方法的类必须是抽象类。抽象类不能被实例化。
不是默认的 ,默认是普通方法。
当你的类不愿意被实例化的时候可以定义为抽象类。可以做为一个标记型的类,里面什么都不写。
作者: 闾丘日月    时间: 2012-5-24 13:59
魏沫同学提到WindowAdapter类就是一个抽象类中没有一个抽象方法的典型例子
这里WindowAdapter有什么特点,实现了windowlistener接口,这个接口中有多个抽象个方法,但是有一些方法是在没有特定需求时不用复写的,如果没有WindowAdapter这个类,我们自己每写一个这个接口的实现,就需要复写这多个方法,而实际这些有大部分是不必要的,因此java弄了个WindowAdapter出来,它本身已经复写了接口的所有方法,我们在使用时只需要继承WindowAdapter类,并复写其中一到两个方法即可,大大方便了我们的编程,而这个WindowAdapter本身没有任何实际意义,因此将其弄成抽象的,防止人们给它创建对象。
事实上很多的adapter都是这个目的。这些都是抽象类没有一个抽象方法的应用
作者: 闾丘日月    时间: 2012-5-24 15:05
闾丘日月 发表于 2012-5-24 13:59
魏沫同学提到WindowAdapter类就是一个抽象类中没有一个抽象方法的典型例子
这里WindowAdapter有什么特点, ...

求指教如何得到函数的局部变量,我在你的送分贴第三题中回复了,但是有些不清楚的地方求解释
作者: 闾丘日月    时间: 2012-5-24 15:06
晕,这个是回复我自己啊。。我想问的是刘蕴学同学。。




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