黑马程序员技术交流社区
标题:
报错,怎么回事?
[打印本页]
作者:
李跃达
时间:
2013-1-30 14:46
标题:
报错,怎么回事?
abstract class Person{
private abstract String newPreson ();//编译是这句报错,说什么类型错误,怎么回事?
}
复制代码
作者:
谢毅
时间:
2013-1-30 16:14
因为抽象类不能被实例化,只有实现了它所有方法的子类才能被实例化,而你把方法用private私有修饰,子类就不能继承该方法了,继承的权限至少是peotected或者public,所以总结就是本身不能被实例化,方法又不能被继承,java是不允许这样无意义的定义的。
作者:
黑马张旭
时间:
2013-1-30 17:13
某个方法同时拥有 abstract 和 private 修饰符。这是不允许的,因为私有方法是从类内部访问的,但抽象方法是从类的外部继承的。
作者:
王立浩
时间:
2013-1-30 17:51
抽象方法或者说是抽象类将其他类中的共有部分抽取出来,简化代码提高扩展性,肯定是对外开放的
将抽象方法私有了 其他类如何去实现它呢?
作者:
钱志新
时间:
2013-1-31 00:43
抽象类是不能实例化的,关键字是abstract ,不能实例化意思就是不能通过new关键字来创建实例,私有类是没有子类的,意思就是不能被继承,断子绝孙了,但是可以实例化。你现在用private修饰就表明它是能够实例化对象,你又用abstract修饰,表明它又不能实例化,这让JVM陷入困境,只能给你报错了。改进方法就是消除矛盾,去掉abstract或者把private该成public或protected
作者:
杨杨
时间:
2013-1-31 11:41
这么多人回答啊 我在补充一小点 newPreson 这样写到一块了肯定报错
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2