关于抽象类的一些小思考

1.抽象类不能被实例化(即创建对象),  它当中的方法是同过子类实现的.     

原因浅析(基于Java不报错情况下的考虑):抽象类中一般会有抽象方法,抽象方法是没有被实现的像的抽取(没有方法体),如果成功的创建了抽象对象,那么该对象调用类中的抽象方法.并不能实现任何功能,这个调用是毫无意义的.

 

2.抽象类可以有构造方法,构造方法可以用(public,default,protected,private修饰)   一般不用private ,因为用private修饰的构造方法不能被子类调用,我们知道子类实现父类是必须通过调用父类的构造方法来初始化成员变量,并实现父类的方法,如果用private修饰则会导致子类无法调用父类的构造方法,从而无法初始化父类的成员变量,也不能实现父类的方法,那么,这个抽象类的定义就是毫无意义的.

3.子类继承抽象类中的抽象方法时必须重写.

4.关于父类中private关键字修饰的成员变量问题,我们知道private修饰的成员变量和成员方法是不能被继承.

但是private修饰的成员变量是可以通过setget方法来赋值和调用的,并且子类在创建对象时默认的调用父类的无参构造,从而继承了父类的setget方法来对父类私有成员变量进行赋值和调用

归根结底,private关键字修饰的成员变量必须有相应的getset方法才能得到调用(private修饰的成员变量必须有相应的getset方法)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值