Java核心回顾及补充

103 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Java面向对象的四大特性:

	继承  封装  多态  (抽象)

多态
同一个对象 体现出来的多种不同形态(身份)  将一种行为表现出不同的效果
要想实现多态的效果 需要现有继承关系

体现:
	1.父类类型的引用  指向  子类的对象
	   Person p = new Teacher();
	2.该引用只能调用父类中定义的属性或方法

	3.如果子类中将父类的方法重写,那么调取方法后执行的结果是子类重写之后的那个结果
		如果父类与子类有同名的属性  		执行父类的属性
		如果父类与子类有同名的方法(重载)	执行子类重写之后的方法
	4.若想要调用子类中独有的成员
		(强制类型转化)  造型 铸型  (向上/向下转型)
	5.造型时(强制向下转型时) 可能会出现一个运行时异常
		ClassCastException   造型  铸型 异常
		如果想要避免造型的异常  可以用instanceof关键字来进行判断
		对象  instanceof  类

常规异常:

    1. InputMismatchException 输入不匹配
  1. NumberFormateException 数字格式化异常
  2. ArrayIndexOutOfBoundsException 数组索引越界
  3. NegativeArraySizeException 数组长度负数
  4. NullPointerException 空指针异常
  5. ArithmeticException 算数异常
  6. ClassCastException 造型异常 将对象的类型还原时 与真实类型不匹配
  7. StackOverflowError 栈内存溢出错误

知识总结:

适配器模式  Adapter-----结构型模式的一种
缺省适配器模式
解决一个接口(规则) 定义了好多方法
适配器(通常是一个抽象类)  添加某些具体实现 (方法内部抛出异常)
每一个子类实现接口  所有的方法
多态:
多态指的是一个对象体现出的多种不同的形态(身份),可以将同一种行为(方法)表现出不同的效果
多态的表现形式:
1.多态的前提需要有继承关系
2.使用父类类型的引用  指向子类的对象    Person p = new Teacher();  向上转型
3.该引用只能调用父类中定义的属性/方法
4.执行结果  如果调用属性 执行父类的  如果调用方法 看子类是否重写
5.若想要调用子类中独有的成员 将身份还原回去(造型--向下转型)
   若需要转换的类型与真实对象的类型不匹配 会产生一个运行时异常ClassCastException
6.为了避免转型时产生的问题  可以利用instanceof进行判断比较
   比较前面对象和后面类型是否匹配   p  instanceof  Teacher