学习记录Day4

多态

一个对象的实际类型是确定的

引用类型的指向就不确定了(父类的引用指向子类)

注意事项:1. 多态是方法的多态,属性没有
2. 父类与子类要有关系,有联系
3. 存在条件:继承关系,方法需要重写,父类引用指向子类对象
不能被重写的

  1. static 方法,属于类,不属于实例
  2. final常量
  3. private方法

父类引用指向子类时
如果方法重写了那就调子类的,否则父类的
,也无法直接调用子类特有的方法,需强转

子类引用能调的都是自己的或继承的

instance of 引用类型转换
判断两个类是否存在父子关系

子类转父类可能会丢失一些方法

多态可方便方法的调用,减少重复的代码

static

当某一属性很多类都需要调用时可以static

静态代码块
匿名代码块
构造方法

静态导入包

final修饰类无子类

抽象类

abstract
抽象方法 只有方法名,没有方法的实现
抽象类的方法必须由他的子类实现

  1. 不能new抽象类,只能考子类去实现它,是一种约束
  2. 抽象类可以写普通方法,抽象方法必须在抽象类里

接口

只有规范,约束,自己无法写方法
约束和实现分离:面向接口编程
通过implements实现接口
实现了接口类必须重写接口中的方法

从侧面实现多继承

接口里的属性默认常量
接口作用

  1. 约束
  2. 定义一些方法,让不同的人实现
  3. 方法都是public abstract
  4. 所有属性都是public static final
  5. 接口不能被实例化,没有构造方法
  6. 一个实现类可同时实现多个接口
  7. 接口中的方法必须被重写

内部类

通过外部类来实例化内部类

可以获取外部类的私有属性方法
静态内部类无法访问非静态外部属性方法

一个Java类中可以有多个class文件,但那只能有一个public class
class可以在public class内,可以在public class外,可以在方法内(局部内部类),匿名内部类不用将实例化对象保存到变量中

异常机制

Error
Exception

区别:Error通常比较严重
Exception通常是可以被程序处理的,并且在程序中尽可能的去处理这些异常

异常处理机制

抛出

捕获

异常处理五个关键字
try catch finally throw throws
finally 主要进行一些善后工作,可以不写

捕获多个异常时,大的放后边,从小到大捕

crtl+alt+t

throw/throws

主动抛出异常,一般用在方法中
假设方法中处理不了这个异常则主动抛出

可自定义异常

上一篇:PyTorch初步学习day4


下一篇:Python每天吃掉一点点DAY4