java常用知识点记忆

类的继承与多态

  • 类的继承不支持多重继承
  • 非private 方法才可以被覆盖
  • 覆盖的方法要求,子类中的方法的名字,参数列表,返回类型与父类相同
  • 方法的重载是在一个类中定义方法名字相同,但是参数列表不同的方法
  • 要是在子类中定义了与父类名字相同但是参数列表不同的方法,那么这是属于方法的重载(到时调用的时候会根据参数,进行自动的一个选择),但是要是子类覆盖了父类的方法,在一般情况下,不会调用父类被覆盖的方法(可以用super.方法名来调用)
  • super 关键字,可以调用父类的变量(super.变量名),构造器(super(参数列表)),方法(super.方法名),一般父类中的变量没有被子类的变量覆盖的时候,在子类中是可以直接访问使用的,(方法也一样),变量与方法被覆盖之后要用super 才能调用父类中的变量以及方法
  • 子类是不能继承父类的构造方法的,在子类的构造方法,若没有使用super 来调用父类的构造方法,系统会默认调用,其中this 可以用来调用本类的构造方法,不论,super 还是this 只能出现在构造方法的第一句话,并且只能有一句(this 与super 一共只能出现一次)
  • 封装性通过包以及类以及类的成员访问权限实行封装性
  • final 来修饰类、方法、变量,final 修饰的类为最终类,不允许被继承,final 修饰的方法不能被覆盖,final 修饰的变量为常值变量,一旦赋值则不能被修改
  • 抽象方法是不能实例化的,但是可以通过实例化该抽象方法的子类来实现其中的抽象方法
  • 抽象方法只有方法的申明,没有方法的实现,抽象方法必须在抽象类中
  • 由于final 类不能被继承,可是抽象类必须被继承,所以final 与abstract 不能在定义类时同时实现
  • 子类对象可以自动转换为父类的对象,但是父类对象要强制转换才能转换为子类对象(要求父类对象是运用子类的构造方法生成的
  • 区别方法的多态与重载与重写(覆盖),静态多态通过方法的重载实现,动态多态通过方法的覆盖实现
相关推荐
咖啡教室4 小时前
java日常开发笔记和开发问题记录
java
咖啡教室4 小时前
java练习项目记录笔记
java
鱼樱前端5 小时前
maven的基础安装和使用--mac/window版本
java·后端
RainbowSea5 小时前
6. RabbitMQ 死信队列的详细操作编写
java·消息队列·rabbitmq
RainbowSea5 小时前
5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明
java·消息队列·rabbitmq
李少兄7 小时前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
此木|西贝7 小时前
【设计模式】原型模式
java·设计模式·原型模式
可乐加.糖7 小时前
一篇关于Netty相关的梳理总结
java·后端·网络协议·netty·信息与通信
s9123601017 小时前
rust 同时处理多个异步任务
java·数据库·rust
9号达人7 小时前
java9新特性详解与实践
java·后端·面试