抽象类中可不可以有private变量?可不可以有private方法? 1:抽象类中可不可以有private变量?2:可不可以有private方法?请在答案后给出相应解释。谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上的同事们不要误导人。Java允许抽象类中有private变量和private方法,因为按照抽象类的定义,抽象类与一般类的不同之外只在于它里面含有抽象的方法(也可能没有)。既然一般类中有private变量和private方法,抽象类中也能有。大家写一个抽象类就都明白了。需要注意的是,抽象类中的abstract方法不能为private,因为它需要子类来继承它。 补充说明: 抽象类中不要求所有的方法都是abstract型 抽象类是允许有private变量和private方法的,因为抽象类中可以有具体的方法实现,在这些具体方法实现中可以用自己定义为private的变量和private方法。它不同于接口,因为接口中不能有方法的具体实现,其所有的方法都要求实现它的类来具体实现,所以,接口中的私有变量和私有方法就永远不会用到,所以接口中不会有private变量和private方法。 抽象类可以有private field和method,并且抽象类中完全可以没有抽象方法。抽象类只不过不能直接实例化罢了。 呵呵,一般情况下不论abstract class还是concrete class都是public或默认的friendly,而不能是其他的访问级别。可以试一试你将class声明为protected或private,看能不能通过编译。但是,在语法上不仅abstract class可以是private的,而且interface也可以是private的,但仅当这个abstract class或interface为inner class的时候成立,而且可以通过编译,可以运行,至于这么做的意图就不清楚了。书上曾经有这部分的介绍,可以看一看。就TIJ上,inner class那一章。 可以的java.util.Calendar就是功能嘛,自己看吧 不好意思,没看好题目就答了:(楼主说的是都可以,可以把abstract class看成concrete class的半成品,区别仅仅是abstract class不能实例化,或者强制的给出了部分方法的声明,而对于继承这个abstract class的concrete class都必须实现这些方法。同时abstract class可以包含部分方法的实现,这和concrete class中的方法实现是相同的,所以abstract class中可以有private method和private parameter。可以自己写个例子验证一下是否正确。而且虽然abstract class是用作继承的,但是abstract class中的method和parameter却不一定,它们可以用来实现共有的逻辑行为动作,我想这就是将abstract class中的method和parameter声明为private的用意,就像concrete class中声明private method和parameter一样,为了向用户屏蔽掉某些方法的实现。 http://www.eimhe.com/bbs/adget.php?id=379765美河学习在线——专业视频课程下载基地 继续问多线程情况下的数据库操作的线程安全性问题 关于IE打印的一个问题? Hibernate的小问题 关于编码的一些问题 有两道超难的机试题,哪位大哥能帮我看下! 把123456转成十二万三千四百五十六 我想在JSP页面中接收<c:out value="5" />输出的结果!该怎么办? 怎样在保存文件是,自动添加自己定义的扩展名 vc6.0的安装程序要更新java虚拟机,但每次重启后都失败,怎么办? 求助 如何将文件中的记录导入数据库? 关于JAVA编程思想的学习问题(菜鸟)
需要注意的是,抽象类中的abstract方法不能为private,因为它需要子类来继承它。
它不同于接口,因为接口中不能有方法的具体实现,其所有的方法都要求实现它的类来具体实现,所以,接口中的私有变量和私有方法就永远不会用到,所以接口中不会有private变量和private方法。
抽象类只不过不能直接实例化罢了。
java.util.Calendar就是
功能嘛,自己看吧
楼主说的是都可以,可以把abstract class看成concrete class的半成品,区别仅仅是abstract class不能实例化,或者强制的给出了部分方法的声明,而对于继承这个abstract class的concrete class都必须实现这些方法。同时abstract class可以包含部分方法的实现,这和concrete class中的方法实现是相同的,所以abstract class中可以有private method和private parameter。可以自己写个例子验证一下是否正确。而且虽然abstract class是用作继承的,但是abstract class中的method和parameter却不一定,它们可以用来实现共有的逻辑行为动作,我想这就是将abstract class中的method和parameter声明为private的用意,就像concrete class中声明private method和parameter一样,为了向用户屏蔽掉某些方法的实现。