• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
秘银徽章
博客园    首页    新随笔    联系   管理    订阅  订阅
java课后作业6

 

一、运行TestInherits.java

结论:通过super调用基类构造方法,必须是子类构造方法中的第一个语句。

二、为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来?

子类是从父类继承来的,所以想用子类创建对象的时候,必须要先建立父类的对象,子类有父类的属性和方法;就要给父类的属性分配内存空间,在创建对象的时候如果父类中的数据需要初始化,那么就必须要调用。不能反过来,因为基类和子类就像现实中的父亲和子女一样,如果反过来就乱了辈分,而且对于子类不知道有几个子类继承父类,如果反过来,就相当于不知道父类要继承几个子类。

三、运行Address.java

 

四、运行ExplorationJDKSource.java

这个在main方法实际上调用的是:String类的valueOf方法。valueOf方法内部又调用Object.toString方法:

        Public String toString(){

            return    getClass().getName()+”@”+Integer.toHexString(hashCode());

     }

 

五、运行Fruit.java

Fruit类覆盖了Object类的toString方法。在“+”运算中,当任何一个对象与一个String对象,连接时,会隐式地调用其toString()方法,默认情况下,此方法返回“类名 @ + hashCode”。为了返回有意义的信息,子类可以重写toString()方法。

 

posted on 2015-11-07 17:29  秘银徽章  阅读(158)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3