java常用知识点记忆

类的继承与多态

  • 类的继承不支持多重继承
  • 非private 方法才可以被覆盖
  • 覆盖的方法要求,子类中的方法的名字,参数列表,返回类型与父类相同
  • 方法的重载是在一个类中定义方法名字相同,但是参数列表不同的方法
  • 要是在子类中定义了与父类名字相同但是参数列表不同的方法,那么这是属于方法的重载(到时调用的时候会根据参数,进行自动的一个选择),但是要是子类覆盖了父类的方法,在一般情况下,不会调用父类被覆盖的方法(可以用super.方法名来调用)
  • super 关键字,可以调用父类的变量(super.变量名),构造器(super(参数列表)),方法(super.方法名),一般父类中的变量没有被子类的变量覆盖的时候,在子类中是可以直接访问使用的,(方法也一样),变量与方法被覆盖之后要用super 才能调用父类中的变量以及方法
  • 子类是不能继承父类的构造方法的,在子类的构造方法,若没有使用super 来调用父类的构造方法,系统会默认调用,其中this 可以用来调用本类的构造方法,不论,super 还是this 只能出现在构造方法的第一句话,并且只能有一句(this 与super 一共只能出现一次)
  • 封装性通过包以及类以及类的成员访问权限实行封装性
  • final 来修饰类、方法、变量,final 修饰的类为最终类,不允许被继承,final 修饰的方法不能被覆盖,final 修饰的变量为常值变量,一旦赋值则不能被修改
  • 抽象方法是不能实例化的,但是可以通过实例化该抽象方法的子类来实现其中的抽象方法
  • 抽象方法只有方法的申明,没有方法的实现,抽象方法必须在抽象类中
  • 由于final 类不能被继承,可是抽象类必须被继承,所以final 与abstract 不能在定义类时同时实现
  • 子类对象可以自动转换为父类的对象,但是父类对象要强制转换才能转换为子类对象(要求父类对象是运用子类的构造方法生成的
  • 区别方法的多态与重载与重写(覆盖),静态多态通过方法的重载实现,动态多态通过方法的覆盖实现
相关推荐
知其然亦知其所以然19 分钟前
JVM社招面试题:队列和栈是什么?有什么区别?我在面试现场讲了个故事…
java·后端·面试
harmful_sheep26 分钟前
Spring 为何需要三级缓存解决循环依赖,而不是二级缓存
java·spring·缓存
星辰大海的精灵28 分钟前
如何确保全球数据管道中的跨时区数据完整性和一致性
java·后端·架构
大大。30 分钟前
van-tabbar-item选中active数据变了,图标没变
java·服务器·前端
nc_kai33 分钟前
Flutter 之 每日翻译 PreferredSizeWidget
java·前端·flutter
Codebee43 分钟前
OneCode:AI时代的先锋——注解驱动技术引领开发范式变革
java
勤奋的知更鸟44 分钟前
Java 编程之状态模式
java·开发语言·状态模式
架构个驾驾1 小时前
深入浅出MyBatis-Plus实战指南
java
SimonKing1 小时前
解锁万能文件内容分析工具:Apache Tika
java·后端·程序员