黑马程序员技术交流社区

标题: 关于继承时父类构造法方法为私有时 [打印本页]

作者: 王琪    时间: 2014-6-8 21:30
标题: 关于继承时父类构造法方法为私有时
本帖最后由 王琪 于 2014-6-8 21:35 编辑
  1. package dom;
  2. class myperson{
  3.         private String name;
  4.         private int age;
  5.         private myperson(){
  6.                 System.out.println("****");
  7.         }
  8.         public void setName(String name){
  9.                 this.name=name;
  10.         }
  11.         public void setAge(int age){
  12.                 this.age=age;
  13.         }
  14.         public String getName(){
  15.                 return this.name;
  16.         }
  17.         public int getAge(){
  18.                 return this.age;
  19.         }
  20. }
  21. class student extends myperson{
  22.         private String school;
  23.         public student(){  //这里出错,不通过
  24.                 System.out.println("##");
  25.         }
  26.         public String getSchool() {
  27.                 return school;
  28.         }
  29.         public void setSchool(String school) {
  30.                 this.school = school;
  31.         }
  32.         
  33. }
  34. public class text2 {
  35.         public static void main(String[]args){
  36.                 student stu=new student();
  37.         }
  38. }
复制代码

作者: 王琪    时间: 2014-6-8 21:37
我发先父类的构造方法一定不可以用private修饰?因为子类的构造方法隐含了super()
作者: woshihq    时间: 2014-6-8 21:37
同求问!!!!!!!!!!!!
作者: 123_yaya    时间: 2014-6-8 21:44
私有构造方法是不让别人构造的。你继承了父类,那么子类构造函数相当于有一句缺省的super();这和你把父类构造函数设为私有的相矛盾了。所以出错。一般来说,这个类是单例的才设置私有构造函数。
作者: 王琪    时间: 2014-6-8 21:53
嗯,应该是这样的吧 >.<   单例设计模式应该不能用到继承吧?  
谢谢你
作者: David.L    时间: 2014-7-24 21:20
123_yaya 发表于 2014-6-8 21:44
私有构造方法是不让别人构造的。你继承了父类,那么子类构造函数相当于有一句缺省的super();这和你把父类构 ...

多谢提醒,搜索进来的




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