@[TOC]基础知识是最重要的
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:
一、基础概念(或多或少,但很多面试的企业都会涉及)
对于概念的问法是不同的,所以仅罗列概念,笔试时要灵活变通,看清楚笔试题目问的是什么
1. 封装
- 将类的某些信息隐藏在类内部,不允许外部程序直接访问
- 通过该类提供的方法来实现对隐藏信息的操作和访问
- 隐藏对象的信息
- 留出访问的接口
2. static
-
静态字段用静态方式访问
-
用static修饰的成员叫静态成员、类成员
-
特征:无论实例化多少对象, 都会共用同一块静态空间
-
静态访问方法: 通过(类名.静态成员)调用类的静态成员
-
static不能加在class前
-
static不能加在局部变量前
-
静态方法不能直接访问同一个类的非静态成员
-
静态方法不能使用this
-
静态方法在class前只能加public、abstract、final
-
静态方法在成员方法中,可以直接访问类中静态成员
3. 多态
同一种事物的多种形态。
方法重载:
- 方法名必须相同
- 形参列表必须不同(形参的数据类型和形参的个数不同)
- 与返回值类型无关
方法重写:
- 必须存在继承关系
- 重写的方法名、返回值类型、参数列表(参数顺序、个数、类型)必须和父类的方法保持一致
- 子类的访问修饰符不能低于父类方法的访问修饰符 public
4. super、this、final、finally
super
- 访问父类的成员方法
- 访问父类的成员属性
- 访问父类的构造方法
- 不能在静态方法中使用
this
- 访问当前类的成员方法
- 访问当前类的成员属性
- 访问当前类的构造方法
- 不能在静态方法中使用
final
- 修饰变量:被声明为final的变量必须在声明时给出变量的初始值,而在以后的引用中只能读取。
- final声明方法:方法不能被重写
- final修饰的方法可以被继承
- final不能修饰构造方法
- 使用final修饰可以提高性能,但会降低可扩展性
finally
在异常处理中作为一个必定会执行的语句块
5. 单例模式 (会让你写一个单例模式)
饿汉式
public class HungrySingleton {
private HungrySingleton(){}
//创建该类型私有静态实例
private static HungrySingleton instance = new HungrySingleton();
//创建公有静态方法返回静态实例对象
public static HungrySingleton getInstance(){
return instance;
}
}
懒汉式
public class LazySingleton{
private LazySingleton(){}
private static LazySingleton instance = null;
//创建公有静态方法返回静态实例对象
public static LazySingleton getInstance(){
if(instance==null){
instance = new LazySingleton();
return instance;
}
}
}
6. ;继承
- 一种类与类之间的关系
使用已存在的类的定义作为基础建立新类 - 新类的定义可以增加新的数据或新的功能,也可以用父类的
功能,但必须完全继承父类