Java | 类、实例初始化 、方法重写规则

简介: Java | 类、实例初始化 、方法重写规则

类、实例初始化 、方法重写规则


  • 类的初始化过程
  • ①一个类要创建实例需要先加载并初始化该类
  • 此时main方法所在的类要先加载和初始化。
  • ②一个子类要初始化需要先初始化父类
  • ③一个类初始化就是执行<clinit>()方法
  • <clinit>()方法由静态类变量显示赋值代码和静态代码块组成。
  • 静态类变量显示赋值代码和静态代码块代码从上到下顺序执行。
  • <clinit>()方法只执行一次。


  • 实例初始化过程
  • ①实例初始化就是执行<init>()方法
  • <init>()方法可能重载有多个,有几个构造器就有几个<init>()方法。
  • <init>()方法由非静态实例变量显示赋值代码和非静态代码块代码从上到下顺序执行,对应构造器的代码最后执行。
  • 每次创建实例对象,调用对应构造器,执行的就是对应的<init>()方法。
  • <init>()方法的首行时super()或super(实参列表),即对应父类的<init>()方法。(先执行父类的<init>()方法)


  • 方法的重写Override
  • ①不可以被重写的方法:
  • final方法
  • 静态方法
  • private等子类中不可见的方法
  • ②对象的多态性:
  • 子类如果重写了父类的方法,通过子类调用的一定是子类重写过的方法。
  • 非静态方法默认的调用对象时this。
  • this对象在构造器或者说<init>()方法中表示正在创建的对象。
  • Override重写的要求:
  • 方法名一致
  • 形参列表一致
  • 返回值类型一致
  • 抛出的异常列表一致
  • 修饰符一致



目录
相关文章
|
3天前
|
Java
【专栏】Java中的反射机制与应用实例
【4月更文挑战第27天】本文探讨了Java反射机制,该机制允许程序在运行时获取类信息、动态创建对象、调用方法和访问属性。反射通过Class、Constructor、Method和Field类实现。文中列举了反射的应用场景,如动态创建对象、调用方法、访问属性和处理注解,并提供了相关实例代码演示。
|
1天前
|
Java 编译器
【Java探索之旅】解密构造方法 对象初始化的关键一步
【Java探索之旅】解密构造方法 对象初始化的关键一步
6 1
|
1天前
|
Java
Java对象和类研究
Java对象和类研究
6 0
|
1天前
|
XML Java 测试技术
Java异常处理神器:Guava Throwables类概念与实战
【4月更文挑战第29天】在Java开发中,异常处理是保证程序稳定性和可靠性的关键。Google的Guava库提供了一个强大的工具类Throwables,用于简化和增强异常处理。本篇博客将探讨Throwables类的核心功能及其在实战中的应用。
9 2
|
1天前
|
存储 安全 Java
【Java EE】CAS原理和实现以及JUC中常见的类的使用
【Java EE】CAS原理和实现以及JUC中常见的类的使用
|
5天前
|
人工智能 安全 Java
Java8 - LocalDateTime时间日期类使用详解
Java8 - LocalDateTime时间日期类使用详解
|
6天前
|
缓存 Java 程序员
|
6天前
|
安全 Java 程序员
|
7天前
|
Java
一文搞清楚Java中的包、类、接口
包、类、接口、方法、变量、参数、代码块,这些都是构成Java程序的核心部分,即便最简单的一段代码里都至少要包含里面的三四个内容,这两天花点时间梳理了一下,理解又深刻了几分。
29 10
|
7天前
|
Java
Java Class类
Java Class类
8 0