`
roway
  • 浏览: 50692 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

第二:方法重写详解、静态代码块与构造方法执行顺序问题

 
阅读更多

一.

执行顺序:

1.父类的静态代码块
2.子类的静态代码块
3.父类的构造方法
4.子类的构造方法
总结起来就是-------------静态优先执行

二.

成员变量会默认赋初始值

局部变量必须赋初始值

三.

方法重写(override),方法重载(overload)

关于方法重写的一些特性:
1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
2.子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)

四.

所谓多态:就是父类或者接口类型的引用可以指向子类或者实现此接口的类的对象(实例)


分享到:
评论

相关推荐

    java基础资源

    - **执行顺序**:静态代码块 > main方法 > 构造代码块 > 构造方法。 6. **this的另一个用法** - `this()`用于调用本类中的其他构造函数,需放在构造函数的第一行。 7. **final关键字** - **定义**:`final`用于...

    JAVA判断题含答案.doc

    - **知识点**:局部变量的作用域仅限于定义它们的方法、代码块或构造方法,当这些作用域结束时,变量也随之销毁。 - **正确答案**:B. 正确 #### 32. 在同一个类的不同构造方法中调用该类的其它构造方法需要使用 `...

    java面试准备要点记录

    - **静态代码块执行顺序**: - 当一个类被加载时,它的静态代码块会被执行。 - 如果子类继承了父类,则首先加载父类并执行父类中的静态代码块,然后加载子类并执行子类中的静态代码块。 - **构造代码块执行顺序*...

    java期末考试

    2. 成员变量初始化顺序:成员变量按定义顺序初始化,无论它们在代码中的位置如何。 3. 子类构造方法:子类构造器需调用父类构造器。若未显式调用,Java 默认调用父类的无参构造器。 4. 静态成员与实例成员:静态成员...

    C#编程语言详解 Part1

    ### C#编程语言详解 Part1 知识点总结 #### 一、简介 - **Hello World**: C#中创建一个简单的“Hello World”程序是非常直接的。这通常用于展示语言的基础语法,例如如何定义主方法(`Main`),以及如何使用控制台...

    《Java编程思想》学习笔记1(操作符、控制语句、对象、初始化与清理).doc

    - **初始化流程**: 父类静态变量 → 父类静态代码块 → 子类静态变量 → 子类静态代码块 → 父类非静态变量 → 父类非静态代码块 → 父类构造方法 → 子类非静态变量 → 子类非静态代码块 → 子类构造方法。...

    最新Java面试题

    - **继承条件下构造方法的执行过程**:子类构造方法会隐式或显式调用父类的构造方法。 - **`==`和`equals`的区别和联系**: - `==`:用于比较基本类型数值或引用类型地址。 - `equals`:用于比较对象的内容是否...

    java 面试题

    注意:在第二次创建子类对象时,父类和子类的静态初始化块不会再次执行,因为它们只在类加载时执行一次。 #### 五、访问修饰符的作用域 - **`public`**:类、成员变量或方法可以在任何地方被访问。 - **`protected...

    Java基础知识练习题

    - `finally`: 无论是否抛出异常,finally 块中的代码都会被执行; - `finalize`: 已经不再推荐使用。 #### 18. 匿名内部类是否可以扩展(extends),是否可以实现(implements)接口 - **问题解析**:匿名内部类...

    面试题java

    - **finally**:与异常处理有关,用于确保无论是否发生异常,`finally`块中的代码都会被执行。这通常用于释放资源或进行必要的清理工作。 - **finalize**:这是`Object`类中的一个方法,用于在对象被垃圾回收前进行...

    android学习笔记

    - `finally`语句:无论是否发生异常都会执行的代码块。 - 抛出异常:通过`throw`关键字抛出异常对象。 - 异常类:如`Exception`、`RuntimeException`等。 - 常见的异常类:`NullPointerException`、`IOException...

    java初级知识

    分为静态代码块和实例代码块。 **6. 构造方法的私有化** 将构造方法声明为私有的可以防止外界直接创建该类的实例,通常用于实现单例模式。 **7. Singleton模式(单例模式)** 单例模式确保一个类只有一个实例,并...

    java基础知识

    - 方法重写(Override)与方法重载(Overload)的区别。 - super关键字的使用。 4. **多态**: - 多态的概念及其优点。 - 方法覆盖(Overriding)与方法隐藏(Hiding)的区别。 - 抽象类(Abstract Class)与接口...

    C#语言规范 3.0

    - **静态方法与实例方法**:静态方法不依赖于任何实例,而实例方法则属于类的一个实例。 - **虚方法、重写方法与抽象方法**:虚方法允许在派生类中被重写;抽象方法必须在派生类中实现;重写方法是在派生类中对...

    java实用教程

    #### 第二章:标识符、关键字和数据类型 **1.8 标识符和关键字** - **标识符**:用来命名变量、方法、类等的名称。 - **规则**: - 可以由字母、数字、下划线(_)、美元符号($)组成。 - 不得以数字开头。 - ...

    JAVA面试题

    此类问题主要考查构造方法的执行顺序。遵循以下原则: 1. 如果子类构造器中显式调用了父类构造器,则先执行父类构造器。 2. 子类构造器中如果没有显式调用父类构造器,则默认调用无参构造器。 3. 构造器中的语句按照...

    Java全阶段综合笔试面试题(含答案)

    - **抽象类**: 可以有方法实现,也可以有构造方法。 **10. String、StringBuilder、StringBuffer的区别** - **String**: 不可变字符串。 - **StringBuilder**: 可变字符串,线程不安全。 - **StringBuffer**: 可变...

    java多线程教程 java多线程教程

    synchronized可以修饰方法或代码块,确保同一时间只有一个线程执行。Lock接口提供了更细粒度的锁控制,如公平锁、非公平锁、读写锁等。 六、死锁与线程安全 死锁是两个或多个线程互相等待对方释放资源,导致无法...

Global site tag (gtag.js) - Google Analytics