java复习 继承多态

  1. instanceof判断:在运行阶段进行动态判断引用指向对象的类型。
    c instanceof Cat为true表示c指向的堆内存中的对象是Cat。但凡对类型向下转型,养成好习惯使用instanceof进行判断。
  2. 静态方法也可以使用 引用.进行调用,不过这样会造成程序员的困惑,这种调用与对象无关,在底层还是通过类名.进行调用
Animal a = new Cat();
a.eat();
  1. 方法覆盖(重写)需要和多态机制联合起来才有意义。
  2. 用private修饰的私有方法不能被重写,会调用父类原有的方法
  3. super作用:
  • super()访问父类构造方法.
  • 类比this()作用:在一个构造方法中调用另一个构造方法;this(实参) 可以在无参构造中调用有参构造,进行属性初始化。
  • super(实参) 可以调用父类有参构造,初始化父子类共有属性(公共属性)(仅在父类中声明,private修饰无法直接访问,通过构造方法间接访问)。
  1. 在创建一个对象过程中,可能会发生这种情况,子类构造方法调用父类构造方法 在继续调用父类构造方法,直至调用object类的构造方法,实际上只创建了一个对象。
    super()作用其实是初始化了父类对象特征。
  2. super 不是引用,不保存内存地址,不指向任何对象。所以若出现System.out.println(super);类似语句则会报错。

  1. interface 接口:
  • 接口中只存在常量和抽象方法。
  • 所有属性都是public abstract修饰的,可以省略;同理,常量的修饰符public static final 也可以省略;
  1. 无论是向上转型还是向下转型 类与类之间都必须有继承关系。没有继承关系,编译器会报错(但不适用于接口间)
  2. 类与类之间的关系:
  • is a 关系 表示可以设置会继承关系
  • has a 表示 关联关系表示可以以实例变量形式存在,例如下边例子中的顾客和菜单的关系;
  • like a表示实现关系 比如厨师像一个菜单。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值