A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 静以修身 于 2013-8-17 22:50 编辑

抽象类中是否有构造函数?有,是用于给对象进行初始化的。想问能进行初始化,但不能建立对象,是已经
固定了的规则么,其原理是怎样的啊?

评分

参与人数 1黑马币 +3 收起 理由
EYE_SEE_YOU + 3 俭以养德

查看全部评分

2 个回复

倒序浏览
本帖最后由 张洪慊 于 2013-8-17 21:24 编辑

<div class="blockcode"><blockquote>
例如:我简单的想到:抽象类的构造函数也可以用于初始化子类的成员属性
abstract class Animal{
  private  String animalName;
  protected Animal(String animalName){
   this.animalName=animalName;
  }
}
class Dog extends Animal{

private String dogName;  

public Dog(String animalName){     

  super(dogName);   

}

}
</blockquote></div><br />
回复 使用道具 举报
张洪慊 发表于 2013-8-17 21:12
例如:我简单的想到:抽象类的构造函数也可以用于初始化子类的成员属性
abstract class Animal{
  private   ...

抽线类的构造函数只能初始化自己的属性吧!super(dogName),初始化的是从父类继承过来的属性animalName,而不是初始化子类的属性,初始化子类的属性应该在父类的构造函数下面再加上一句this.dogName=dogName,应该是这样的吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马