javaSE上总结

面向对象三大特征:
封装:
继承:
多态:

数据类型与运算符

数据类型划分
基本类型
​ -数值型
​ -整形byte、short、int、long 0
​ -浮点型float、double 0.0
​ -字符型 char /u0000
​ -布尔型 boolean false
引用类型
​ 数组、类、接口

方法重载与方法重写
​ -方法重载:在一个类中,定义了若干个方法名称相同,参数列表不同,与返回值无关的一组方法
​ -方法重写:发生在有继承关系的类之间,定义了若干个除了权限不一样其他都一致的一组方法,
​ 子类重写方法不能拥有比父类更为严格的访问控制权限。private不能用于方法重写
​ -都属于方法多态

数组:定长,保存一组相同数据类型的集合
​ -初始化方式
​ -静态初始化:开辟空间,不赋值
​ int[] data = new int[10];
​ -动态初始化:开辟空间的同时赋值
​ int[] data = new int[]{1,3,5,7,9};

-引用传递:多个栈内存指向同一块堆内存空间
int[] temp = data;
-Java对数组的支持:
	-数组排序:java.util.Arrays.sort()
	-数组拷贝:
		-部分拷贝:System.arraycopy()
		-全拷贝:java.util.Arrays.copyOf()

类与对象
​ -面向对象与面向过程的区别
​ -三大特征
​ -private实现的封装处理
​ -构造方法
​ -无返回值
​ -为类中属性初始化
​ -重载(参数的个数不同)
​ this(参数)
​ -this
​ -修饰属性 this.age
​ -修饰方法
​ -构造方法
​ -普通方法 this.方法名称(参数)
​ -表示当前对象this
​ -static:与对象无关
​ -修饰属性 描述共享属性,所有对象共享此属性,牵一发而动全身,可以通过类名称直接调用
​ -修饰方法 描述工具方法,直接通过类名称调用,Arrays.sort()
​ -代码块
​ -非主类中的静态块:在类加载时调用,只调用一次
​ -主类中的静态块:优先于主方法执行
​ -内部类
​ -静态内部类
普通内部类能访问外部类的静态域,不能拥有静态域
静态内部类能拥有普通域,不能访问外部类的普通域
​ -代码块
​ -普通代码块
​ -构造块:优先于构造方法执行,与对象强相关
​ -静态块
​ -同步代码块
​ -内部类
​ -普通内部类(成员内部类)
​ -静态内部类
​ -方法内部类
​ -匿名内部类
​ -继承
​ -使用原则
​ -单继承局限,如何实现多继承?(多层继承、内部类、使用接口)
​ -初始化顺序(先调用父类构造初始化父类对象,而后调用子类构造初始化子类对象)
​ -super:表示父类的属性或方法
​ -修饰属性
​ -修饰方法
​ -构造方法
​ -普通方法
​ -final:终结器
​ -修饰属性:属性值不能更改,并且必须在声明时赋值
​ 全局常量:final static
​ -修饰方法:无法被覆写 模板方法
​ -修饰类:无法被继承(extends) String、俩SB、包装类
​ -多态
​ -方法多态
​ -对象多态
​ -向上转型 天然发生,出现概率最高,参数统一化
​ Person per = new Student();
​ -向下转型 必须强转,先发生向上转型,父类需要调用子类方法时才需要向下转型
​ Student stu = (Student) per;
​ Object:所有类父类
​ Object obj = new Person();
​ Person per = (Person) obj;
​ per.test();

抽象类与接口:强制要求子类覆写方法
​ -抽象类:普通类的超集,比普通类多了一些抽象方法而已(0…N),abstract修饰
​ -使用原则
​ -不能直接产生对象
​ -依然遵循实例化流程,先调用抽象类的构造再调用子类构造
​ -模板模式:ocp原则:对扩展开放,修改关闭,解耦,找到第三方
​ 举例+特点(组成:final核心算法+抽象方法)
​ SE三大设计模式:工厂、代理、单例
​ -接口
​ -组成:全局常量+抽象方法(JDK8之前)
​ -与抽象类的区别,接口优先原则
三大类
​ -final String
​ -直接赋值、通过构造方法
​ -内容不可变
​ -常用操作方法
​ -Object:所有类的父类
​ -equlas():比较两个对象的内容
面试:请比较==与equals的区别?
​ -toString:获取对象信息
​ -final 包装类 int-Integer
​ -装箱与拆箱,自动拆装箱
​ Integer i1 = 128;
​ -与String类的互相转换
​ String.valueOf
​ Integer.parseInt(str)
单例模式:
​ -懒汉式:用时再new
​ -饿汉式:上来就new

构造私有化
类内部提供静态对象
类内部提供静态方法返回唯一对象

异常:
请解释Error与Exception的区别?
​ -受查与非受查
​ -请举出常见的三个RuntimeException:NPE,ClassCastException、ArrayIndexOfBoundsException
​ -异常处理格式
​ try…catch…
​ try…finally…
​ try…catch…finally…
​ finally保证重点代码一定执行的一种机制
面试题:请解释final、finally、finalize的区别
​ -thorws、thorw

猜你喜欢

转载自blog.csdn.net/weixin_42617262/article/details/88047185