异常的处理 2.3:[面试题] final、finally、finalize三者的区别? 类似: throw 和 throws Collection 和 Collections String、StringBuffer、StringBuilder ArrayList、LinkedList HashMap、LinkedHashMap 重写、重载…
异常 2.从程序执行过程,看编译时异常和运行时异常 编译时异常:执行javac.exe命名时,可能出现的异常 运行时异常:执行java.exe命令时,可能出现的异常
注意点: 在局部内部类的方法中(比如:show)如果调用局部内部类所声明的方法(比如:method)中的局部变量(比如:num)的话,要求此局部变量声明为final的。 jdk 7 及之前版本:要求此局部变量显式的声明为final的 jdk 8 及之后的版本,可以省略final的声明 总结: 成员内部类和局部内部类,在编译以后,都会生成字节码文件。…
面试题: 抽象类和接口的异同? 相同点:不能实例化:都可以包含抽象方法的。 不同点: 1)把抽象类和接口(java7,java8,java9)的定义、内部结构解释说明 2)类:单继承性 接口:多继承 类与接口:多实现
abstract:抽象的 1. 可以用来修饰:类、方法 2. 具体的: * abstract修饰类:抽象类 * > 此类不能实例化 * > 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) * > 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作 --->抽象的使用前提:继承性 * abstract修饰方法:…
1. abstract 能修饰哪些结构?修饰以后,有什么特点? 类、方法。 类不能实例化,提供子类 抽象方法,只定义了一种功能的标准。具体的执行,需要子类去实现。 2. 接口是否能继承接口?抽象类是否能实现(implements)接口?抽象类是否能继承非抽象的类? 能,能,能 3. 声明抽象类,并包含抽象方法。测试类中创建一个继承抽象类的匿名子类的…
final:最终的 1. 可以用来修饰:类、方法、变量
类的成员之四:代码块(初始化块)(重要性较属性、方法、构造器差一些) 1. 代码块的作用:用来初始化类、对象的信息 2. 分类:代码块要是使用修饰符,只能使用static 静态代码块 vs 非静态代码块 4. 实例化子类对象时,涉及到父类、子类中静态代码块、非静态代码块、构造器的加载顺序: 由父及子,静态先行。
package top.qaqaq.java.P340; public class SingletonTest { public static void main(String[] args) { Bank bank1 = Bank.instance; // Bank.instance = null; Bank bank2 = Bank.i…
static:静态的 1. 可以用来修饰的结构:主要用来修饰类的内部结构 属性、方法、代码块、内部类 2. static修饰属性:静态变量(或类变量) 4. static修饰方法:静态方法、类方法
1. static 修饰的属性,相较于实例变量,有哪些特别之处(>=3点) 随着类的加载而加载:早于对象的创建;只要权限允许,可以通过"对象.static属性"的方式进行调用;存在于方法区的静态域 2. final 可以用来修饰哪些结构,分别表示什么意思 final可以用来修饰 类 方法 变量 final 修饰类 表示该类不能被继承 fina…
package top.qaqaq.java.P313; import java.util.Objects; public class Person { String name; int age; public Person(String name, int age) { this.name = name; this.age = age; } pu…
谈谈你对多态性的理解 ① 实现代码的通用性。 ② Object类中定义的public boolean equals(Object obj){} JDBC:使用java程序操作(获取数据库连接、CRUD)数据库(MySQL、Oracle、DB2、SQL Server) ③ 抽象类、接口的使用肯定体现了多态性。(抽象类、接口不能实例化) 多态是编译时行…
instanceof的使用: a instanceof A:判断对象a是否是类A的实例。如果是,返回true:如果不是,返回false。 如果a instanceof A返回true,则a instanceof B也返回true.其中,类B是类A的父类 要求a所属的类与类A必须是子类和父类的关系,否则编译错误。
1. 如何实现向下转型?需要注意什么问题?如何解决此问题? Person p = new Man(); 使用强转符:() Man m = (Man)p; 可能ClassCastException异常。 if(p instanceof Man){ Man m = (Man)p; } 使用instanceof在进行向下转型前判断。 2. == 和 eq…
关键字:super 1. super 关键字可以理解为:父类的 2. 可以用来调用的结构:属性、方法、构造器 3. super调用属性、方法: 4. super调用构造器
package top.qaqaq.java.P284; public class Circle { private double radius; public Circle() { super(); radius = 1; } public double getRadius() { return radius; } public void set…
1. 什么是多态性?什么是虚拟方法调用? 对象的多态性:父类的引用指向子类的对象。 Person p = new Man(); p.eat(); 调用方法时,编译时看左边,运行时看右边。 2. 一个类可以有几个直接父类?(只有一个) 一个父类可有多少个子类?(多个) 子类能获取直接父类的父类中的结构吗?(可以) 子类能否获取父类中private权限…
package top.qaqaq.java.P279.exer; public class Account { private int id; // 账号 private double balance; // 余额 private double annuallntertstRate; // 年利率 public Account(int id, d…
1. 至少独立完成一遍以上的项目代码 2. 积累完成项目的过程中常见的bug的调试 方式一:“硬”看,必要时,添加输出语句。 方式二:Debug 3. 捋顺思路,强化逻辑 4. 对象、数组等内存结构的解析 5. 遵守编码的规范,标识符的命名规范等 int i = 10; int total = 0; 6. 在类前,方法前,方法内具体逻辑的实现步骤等…