对于父类与子类继承的理解

1.对于普通的父类与子类

子类 能继承父类所有的属性和方法,不包括构造器。

子类能直接访问 从父类继承的公有方法和属性。

对于父类的私有属性,能继承,但是不能直接访问,只能通过父类 public 修饰的 get和set方法来访问。

对于父类的私有方法,不能访问。

 

创建子类对象时,会先执行父类的构造方法(初始化父类的成员变量和方法),而不会创建父类对象。

然后在 子类的内存区域中,super指向 子类对象中从父类继承的成员变量和方法。this指向 不仅父类可继承的成员变量和可继承的方法外,它还指向了子类的成员变量和方法。

引用的别人的说法:

在创建子类对象时,会把父类里的成员变量和方法也加载进内存(因为要加载进内存,所以要看下这些数据是怎么初始化的,所以调用了父类的构造,仅此而已,并不是去创建了父类对象),然后用this和super这两个引用来区分是父类的还是子类的,但是这个内存区域是子类的内存区域,绝不是父类的 this指向了不仅父类可继承的成员变量和可继承的方法外,它还指向了子类的成员变量和方法 而super仅仅只是指向了子类对象中从父类继承的成员变量和方法。

 

2.对于抽象类的构造方法的作用:

抽象类 只能被继承。

子类在创建对象时,会先调用父类的构造方法。(有显示构造就必须调用显示构造,无显示构造时,编译器会自动加上默认的无参构造。)

父类的构造方法,作用:初始化父类的成员变量。(这里也间接表明了不会创建父类对象,因为父类作为抽象类时,直接new 会编译报错的)

然后调用子类的构造方法。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值