java常用知识点记忆

类的继承与多态

  • 类的继承不支持多重继承
  • 非private 方法才可以被覆盖
  • 覆盖的方法要求,子类中的方法的名字,参数列表,返回类型与父类相同
  • 方法的重载是在一个类中定义方法名字相同,但是参数列表不同的方法
  • 要是在子类中定义了与父类名字相同但是参数列表不同的方法,那么这是属于方法的重载(到时调用的时候会根据参数,进行自动的一个选择),但是要是子类覆盖了父类的方法,在一般情况下,不会调用父类被覆盖的方法(可以用super.方法名来调用)
  • super 关键字,可以调用父类的变量(super.变量名),构造器(super(参数列表)),方法(super.方法名),一般父类中的变量没有被子类的变量覆盖的时候,在子类中是可以直接访问使用的,(方法也一样),变量与方法被覆盖之后要用super 才能调用父类中的变量以及方法
  • 子类是不能继承父类的构造方法的,在子类的构造方法,若没有使用super 来调用父类的构造方法,系统会默认调用,其中this 可以用来调用本类的构造方法,不论,super 还是this 只能出现在构造方法的第一句话,并且只能有一句(this 与super 一共只能出现一次)
  • 封装性通过包以及类以及类的成员访问权限实行封装性
  • final 来修饰类、方法、变量,final 修饰的类为最终类,不允许被继承,final 修饰的方法不能被覆盖,final 修饰的变量为常值变量,一旦赋值则不能被修改
  • 抽象方法是不能实例化的,但是可以通过实例化该抽象方法的子类来实现其中的抽象方法
  • 抽象方法只有方法的申明,没有方法的实现,抽象方法必须在抽象类中
  • 由于final 类不能被继承,可是抽象类必须被继承,所以final 与abstract 不能在定义类时同时实现
  • 子类对象可以自动转换为父类的对象,但是父类对象要强制转换才能转换为子类对象(要求父类对象是运用子类的构造方法生成的
  • 区别方法的多态与重载与重写(覆盖),静态多态通过方法的重载实现,动态多态通过方法的覆盖实现
相关推荐
小王师傅662 小时前
【轻松入门SpringBoot】actuator健康检查(上)
java·spring boot·后端
醒过来摸鱼3 小时前
Java classloader
java·开发语言·python
专注于大数据技术栈3 小时前
java学习--StringBuilder
java·学习
loosenivy3 小时前
企业银行账户归属地查询接口如何用Java调用
java·企业银行账户归属地·企业账户查询接口·企业银行账户查询
IT 行者3 小时前
Spring Security 6.x 迁移到 7.0 的完整步骤
java·spring·oauth2
JIngJaneIL3 小时前
基于java+ vue农产投入线上管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
东东的脑洞3 小时前
【面试突击二】JAVA基础知识-volatile、synchronized与ReentrantLock深度对比
java·面试
川贝枇杷膏cbppg4 小时前
Redis 的 AOF
java·数据库·redis
吃喝不愁霸王餐APP开发者4 小时前
Java后端系统对接第三方外卖API时的幂等性设计与重试策略实践
java·开发语言
TG:@yunlaoda360 云老大4 小时前
华为云国际站代理商的CBR主要有什么作用呢?
java·网络·华为云