java学习TG——2021/4/16

本文探讨了Java中构造方法的使用规则,包括错误示例解析和继承时的调用顺序。同时,深入讲解了多态的概念,强调了继承、方法重写以及父类引用指向子类对象的重要性。此外,还提到了instanceof操作符在判断对象类型中的应用。
摘要由CSDN通过智能技术生成

java学习TG——2021/4/16

1. error: constructor Cat in class Cat cannot be applied to given types;//类Cat中的构造函数Cat不能应用于给定类型;
error: constructor Cat in class Cat cannot be applied to given types;
//类Cat中的构造函数Cat不能应用于给定类型;

把实例化对象括号里的信息删掉,再另设置名字、年龄(c.name=“大花猫”;c.age=6;)

2.在这里插入图片描述
在这里插入图片描述
error: constructor Person in class Person cannot be applied to given types;
//类Person中的构造函数Person不能应用于给定类型;

super()里添加继承的属性 or 直接写this.name=name;this.age=age;

3

概念:

1.子类对象在实例化时会默认先去调用父类中的无参构造方法,之后再调用本类中的相应构造方法。 继承条件下构造方法调用规则如下:

2.如果子类的构造方法中没有通过super显示调用父类的有参构造方法,也没有通过this显示调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法。在这种情况下写不写super()语句效果都是一样;

3.如果子类的构造方法中通过super显示调用父类的有参构造方法,那将执行父类相应构造方法,而不执行父类无参构造方法;

4.如果子类的构造方法中通过this显示调用自身的其他构造方法,在相应构造方法中应用以上两条规则;

5.特别注意的是,如果存在多级继承关系,在创建一个子类对象时,以上规则会多次向更高一级父类应用,一直到执行顶级父类Object类的无参构造方法为止。

多态

多态的三个条件:

  1. 继承的存在(继承是多态的基础,没有继承就没有多态);
  2. 子类重写父类的方法(多态下调用子类重写的方法);
  3. 父类引用变量指向子类对象(子类到父类的类型转换)。

子类转换成父类时的规则:

  1. 将一个父类的引用指向一个子类的对象,称为向上转型(upcasting),自动进行类型转换。此时通过父类引用调用的方法是子类覆盖或继承父类的方法,不是父类的方法。此时通过父类引用变量无法调用子类特有的方法。
  2. 如果父类要调用子类的特有方法就得将一个指向子类对象的父类引用赋给一个子类的引用,称为向下转型,此时必须进行强制类型转换。

多态代码
可以用 instanceof 判断一个类是否实现了某个接口,也可以用它来判断一个实例对象是否属于一个类。
instanceof 的语法格式为: 对象 instanceof 类(或接口) 它的返回值是布尔型的,或真(true)、或假(false)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值