类与接口

面向对象-继承
  • java只支持单继承,不支持多继承。也就是说一个子类只有一个父类。
  • java支持多级继承。class A{} class B extends A{} class C extends B{}
子父类中变量的特点
  • 加载子类时先要加载父类,也就是先要执行父类的构造函数。(若有静态代码块和构造代码块,则静态代码块和构造代码块先执行)
  • 父类的对象可以使用子类的构造函数初始化,子类的对象不能通过父类的构造函数初始化。父类的对象通过子类的构造函数初始化后,该对象不能调用子类的函数。
  • super关键字只能调用直接父类的成员,不能调用父类的父类的成员。
重写(覆盖)
  • 子父类的函数必须一致才称为重写(函数名+参数列表+返回值类型)。子类重写父类函数时必须能够看到父类的函数(父类函数不能为私有函数)。父类的私有函数不能重写。
  • 子类函数重写父类的函数时,必须要保证子类函数权限要大于等于父类函数的权限。
  • 静态函数只能由静态函数重写。
final 关键字
  • final关键字可以修饰类,函数和变量。
  • final修饰的类不能被继承。
  • final 修饰的函数不能被重写。
  • final 修饰的变量只能被赋值一次。final int x;x=0//ok final int x=9;//ok final int x=0;x=1//error
  • 内部类只能访问被final修饰的局部变量。
抽象类
  • 关键词 abstract。
  • 抽象方法(类似于c语言中的函数声明)只能存在于抽象类中。但是抽象类中可以存在非抽象方法。
  • 抽象类和抽象方法必须使用abstract修饰。
  • 抽象类不能实例化,只能用于继承。
  • 如果子类只是重写了部分抽象方法,则该子类还是一个抽象类。
  • 抽象类有构造方法,只是不能直接创建抽象类的实例对象而已。
  • 子类重写了父类的全部抽象函数,则该子类可以实例化。
接口
  • 关键词是interface。
  • 接口中的成员修饰符是固定的。变量 public static final 函数 public abstract。
  • 接口不可以创建对象。接口之间可以进行多继承。
  • 接口可以扩展类的功能。
  • 基本功能定义在类中,扩展功能在接口中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值