java详细知识点(包含多态、static、匿名代码块)

super注意点:
  1. super调用父类的构造方法,必须在构造方法的第一个

  2. super必须只能出现在子类的方法或者构造方法中!

  3. super和this不能同时调用构造方法!

Vs this:

代表的对象不同:

this:本身调用者这个对象

super:代表父类对象的应用

前提:

this:没有继承也可以使用

super:只能在继承条件才可以使用

构造方法:

this():本类的构造

super():父类的构造

ctrl+f(idel里面搜索关键字)

方法重写

重写:需要有继承关系,子类重写父类的方法!

  1. 方法名必须相同

  2. 参数列表必须相同

  3. 修饰符:范围可以扩大但不能缩小:public>protected>Default>private

  4. 抛出的异常:范围,可以被缩小,但不能扩大:ClassNotFoundException --->Exception(大)

重写,子类的方法和父类必须一致,方法体不同!

为什么需要重写:

  1. 父类的功能,子类不一定需要,或者不一定满足!

  2. ALT+Insert:override(注解)

多态

即同一方法可以根据发送对象的不同而采用多种不同的行为方式

一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多

多态存在的条件:

  1. 有继承关系

  2. 子类重写父类方法

  3. 父类引用指向子类对象

多态注意事项:

  1. 多态是方法的多态,属性没有多态

  2. 父类和子类,有联系 类型转换异常! ClassCastException!

  3. 存在条件:继承关系,方法需要重写,父类引用指向子类对象! Father f1 = new Son()

不能实现多态的情况:

  1. static方法,属于类,它不属于实例

  2. final 常量

  3. private方法

instanceof关键字

判断对象与类是否有关系(继承)

A(对象) instanceof B(类)

代码:Object obj = new student();

obj是上面的A,但判断的类型是student类和B类的是否有继承关系

多态的类型转换(父到子/向上转型,子到父/向下转型)
  1. 父类引用指向子类的对象

  2. 把子类转换为父类,向上转型

  3. 把父类转换为子类,向下转型;强制转换

  4. 方便方法的调用

Person(数据类型) person = new Student()//new了个对象;

Person是这个对象的类型,类型是类型,对象是对象

若是父亲(向上转型),则只有父亲的方法,没有儿子的方法,但重写的显示的是儿子的方法(多态)

static详解
  1. 静态变量

  2. 代码块 static代码块>匿名代码块>构造方法

  3. static代码块只执行一次

  4. 导入静态方法包

    final修饰的类不能被继承

    image-20240508211110531

其它

(前提)在同一个类里面,非静态方法可以调用静态方法,不需要创建对象;因为静态方法和类同时加载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值