Java 继承

继承:实现代码复用
1.单继承,通过extends实现
2.不能继承父类那些东西?
构造方法不能继承
private修饰的不能继承
不在同一个包中的默认的不能继承
3.super可以访问父类的资源
父类的方法,属性,
构造方法: 只能在构造方法中访问父类构造方法。而且访问父类构造方法必须放在第一行
不能直接使用super
4.继承关系下,构造方法执行顺序
父类的静态属性—>父类的静态代码块—>子类静态属性—->子类静态代码块—->父类非静态属性—->父类非静态代码块—>父类构造方法—>子类非静态资源—>子类构造方法
5.抽象类: abstract修饰的类
抽象方法: abstract修饰,抽象方法没有方法体
抽象类不能创建对象
抽象类中的方法不一定都是抽象方法
抽象方法所在的类一定是抽象类
一个类继承抽象的父类,必须实现父类中的抽象方法,除非自己也是抽象类
6.final:
修饰属性:常量
修饰方法:不能被重写
修饰类:不能被继承
7.final修饰方法的时候,能否和abstract同时使用:不能

多态:同一种事物,条件不同,产生的结果也不同
同一种引用类型,使用不同的实例,而执行不同的操作
父类的类型指向的是子类的实例
Pet pet = new Dog();//起作用的是dog
Pet pet = new Penguin();//起作用的是Penguin
使用步骤:
1.有继承
2.子类重写父类的方法
3.父类的类型指向子类的实例
Pet pet = new Dog();//向上转型(类似:自动类型转换)
向上转型后会丢失子类特有的属性与方法
需要向下转型。判断该实例究竟是哪个类的类型
instanceof
pet instanceof Dog:如果pet是Dog的实例,返回true,如果不是返回false
注意:ClassCastException:类型转换异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值