java常用知识点记忆

类的继承与多态

  • 类的继承不支持多重继承
  • 非private 方法才可以被覆盖
  • 覆盖的方法要求,子类中的方法的名字,参数列表,返回类型与父类相同
  • 方法的重载是在一个类中定义方法名字相同,但是参数列表不同的方法
  • 要是在子类中定义了与父类名字相同但是参数列表不同的方法,那么这是属于方法的重载(到时调用的时候会根据参数,进行自动的一个选择),但是要是子类覆盖了父类的方法,在一般情况下,不会调用父类被覆盖的方法(可以用super.方法名来调用)
  • super 关键字,可以调用父类的变量(super.变量名),构造器(super(参数列表)),方法(super.方法名),一般父类中的变量没有被子类的变量覆盖的时候,在子类中是可以直接访问使用的,(方法也一样),变量与方法被覆盖之后要用super 才能调用父类中的变量以及方法
  • 子类是不能继承父类的构造方法的,在子类的构造方法,若没有使用super 来调用父类的构造方法,系统会默认调用,其中this 可以用来调用本类的构造方法,不论,super 还是this 只能出现在构造方法的第一句话,并且只能有一句(this 与super 一共只能出现一次)
  • 封装性通过包以及类以及类的成员访问权限实行封装性
  • final 来修饰类、方法、变量,final 修饰的类为最终类,不允许被继承,final 修饰的方法不能被覆盖,final 修饰的变量为常值变量,一旦赋值则不能被修改
  • 抽象方法是不能实例化的,但是可以通过实例化该抽象方法的子类来实现其中的抽象方法
  • 抽象方法只有方法的申明,没有方法的实现,抽象方法必须在抽象类中
  • 由于final 类不能被继承,可是抽象类必须被继承,所以final 与abstract 不能在定义类时同时实现
  • 子类对象可以自动转换为父类的对象,但是父类对象要强制转换才能转换为子类对象(要求父类对象是运用子类的构造方法生成的
  • 区别方法的多态与重载与重写(覆盖),静态多态通过方法的重载实现,动态多态通过方法的覆盖实现
相关推荐
NE_STOP2 小时前
Vide Coding--AI编程工具的选择
java
码云数智-园园2 小时前
C++20 Modules 模块详解
java·开发语言·spring
程序员黑豆2 小时前
JDK 下载安装与配置详细教程
java·前端·ai编程
小宇宙Zz2 小时前
Maven依赖冲突
java·服务器·maven
swordbob3 小时前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
咖啡八杯3 小时前
GoF设计模式——享元模式
java·spring·设计模式·享元模式
十五喵源码网3 小时前
基于springboot2+vue2的租房管理系统
java·毕业设计·springboot·论文笔记
摇滚侠3 小时前
IDEA 创建 Java 项目 手动整合 SSM 框架
java·ide·intellij-idea
源分享3 小时前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Flittly3 小时前
【AgentScope Java新手村系列】(10)实战-多Agent天气助手
java·spring boot·spring