文章目录
1.final 有什么用?
用于修饰类、属性和方法;
a、被final修饰的类不可以被继承
b、被final修饰的方法不可以被重写
c、被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的
2.final fially finalize区别
a、final可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰方法表示该方法不能被重写、修饰变量表示该变量是一个 常
量不能被重新赋值。
b、finally一般作用在try-catch代码块中,在处理异常的时候,通常我们将一定要执行的代码方法finally代码块中,表示不管是
否出现异常,该代码块都会执行,一般用来存放一些关闭资源的代码。
c、finalize是一个方法,属于Object类的一个方法,而Object类是所有类的父类,该方法一般由垃圾回收器来调用,当我们调
用System.gc() 方法的时候,由垃圾回收器调用finalize(),回收垃圾,一个对象是否可回收的最后判断。
3.面向对象三大特性
a、封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。
b、继承:继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的 功
能,但不能选择性地继承父类。通过使用继承可以提高代码复用性。继承是多态的前提。
c、所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序 运
行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必 须在
由程序运行期间才能决定。
4.== 和 equals 的区别是什么?
a、== : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。(基本数据类型 == 比较的是值,引用数
据类型 == 比较的是内存地址)
b、equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况:
情况1:类没有覆盖 equals() 方法。则通过 equals() 比较该类的两个对象时,等价于通过“==”比较这两个对象。
情况2:类覆盖了 equals() 方法。一般,我们都覆盖 equals() 方法来两个对象的内容相等;若它们的内容相等,则返回 true
(即,认为这两个对象相等)。
5.String 类的常用方法都有那些?
a、indexOf():返回指定字符的索引。
b、charAt():返回指定索引处的字符。
c、replace():字符串替换。
d、trim():去除字符串两端空白。
e、split():分割字符串,返回一个分割后的字符串数组。
f、getBytes():返回字符串的 byte 类型数组。
g、length():返回字符串长度。
h、toLowerCase():将字符串转成小写字母。
i、toUpperCase():将字符串转成大写字符。
g、substring():截取字符串。
k、equals():字符串比较。