深入了解继承 2

若子类和父类不在同一个包中  ,那么子类只能继承父类中用 protect 和 public 修饰的成员方法和成员变量

子类可以用自己的方式实现父类的方法。(方法重写)

继承有什么缺陷?

父类变,子类就必须变。

继承破坏了封装,对于父类而言,它的实现细节对与子类来说都是透明的。

继承是一种强耦合关系。
调用父类的构造方法我们使用super()即可,调用本身类的其他构造器用this();都要写在第一行
如果父类没有默认构造器,我们就要必须显示的使用super来调用父类有参构造器
否则编译器会报错:无法找到符合父类形式的构造器

关键字super

super()不是父类的构造,只代表通过super关键字,构造了父类的特征。
super()的用法:
在构造方法中只能出现一次,且是第一条语句
super()只能用在构造方法中,其他地方不行。
错误:super的调用必须是==“构造器”==中的第一个语句
super:可以在成员方法中使用,可以通过super直接访问子类继承的父类的方法。静态的方法也是可以使用super访问的,但super不代表类名。
super代表的是父类的特征。这些特征归子类所有。
super是可以省略的,但是在一种情况下,不能省略:
当父类和子类中拥有同样的方法时,要区分子类和父类中的方法,如果是子类的,this.方法(),这个this是可以省略的。如果是父类的方法,super.方法()super不能省略。
对于静态方法来讲,它是类级别的,与thissuper无关。不能用this去掉静态的方法,因为静态方法中没有this这个参数。super是可以调用静态方法的,但是它只是代表了父类的名字,名字也是父类的一个特征。
所谓特征,就是父类的属性、方法、类名,都是父类的特征。
私有的被private修饰的方法,在类外是无法直接访问的。但是可以间接访问。
public class Test01 
————————————————
版权声明:本文为CSDN博主「solo_jie」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/solo_jie/article/details/113180478
public class Animal {
    public int id;
    public String name;
    public Animal(int id,String name){
        System.out.println("父类有参");
    }
}
 class Dog extends Animal {

    public Dog(String name,String type){
        System.out.println("子类有参");
    }
}
 class this01 {
    public static void main(String[] args){
        new Dog("wuhu","qifei");
    }
}
---------------------------------------------------------------------
java: 无法将类 com.company.Animal中的构造器 Animal应用到给定类型;
  需要: int,java.lang.String
  找到: 没有参数
  原因: 实际参数列表和形式参数列表长度不同

idea修改需要在子类有参构造里加一句super( );

如果子类中定义了父类同名的成员变量,不管其类型是否相同,父类中的同名成员变量都会隐藏,子类将无法继承该变量
如果子类中定义了一个方法,并且这个方法的声明部分与父类某个方法完全相同
即方法名、返回类型、参数个数、参数类型完全相同,那么这个父类的某个方法将被子类的方法覆盖
子类如果想使用父类中被隐藏的成员变量和被覆盖的方法,必须使用关键字super
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值