JAVA Day10

 
  • 使用继承
    • 编写继承: 
      1. class Engineer{
      2. //公共的属性和方法
      3. }
       
    • 编写子类,继承父类,
      1. class SoftEnineer extends Enginerr{
      1. //子类持有的属性和方法
      1. }
      1. class OrderBill extends TestEngineer{
      1. } //只能继承一个父类
       
       
  • protected 修饰属性或方法的时候, 只有子类可以继承到.
  • 子类访问父类成员
    • super.name访问父类属性
    • super.print()访问父类方法
  • 父类属性->父类构造方法->子类属性->子类构造方法
  • 有些父类成员不能继承
    • 子类不能访问父类的private成员
    • 子类与父类不同包,使用默认反问权限的成员
    • 构造方法(只能调用,不能继承)
  • 访问修饰符
    • private 只在本类下可以用
    • 默认(friendly), 本类同包都可用
    • protected  本类同包子类都可用
    • public 都可用
  • 方法重写的规则
    • 在继承关系的子类中
    • 重写的方法名.参数.返回值类型必须与父类相同
    • 私有方法不能继承因而也无法重写
      1. @Override
      2. protected void sleep() {
      3. }
       
    • 方法重写--方法重载
      VS位置方法名参数表返回值访问修饰符
      方法重写子类相同相同相同不能比父类更严格
      方法重载同类相同不相同无关无关
  • 何时使用继承
    • 与真实世界类似,符合is-a关系的设计使用继承
    • 继承也是代码重用的一种方式,将子类所有的属性和行为都放到父类里
  • java中也使用抽象类,限制实例化
      1. public abstract class lei(){
      2. public abstract void S();
      3. }
       
    • abstract也可用于方法--抽象方法
      • 抽象方法没有方法体
      • 抽象方法必须在抽象类
      • 抽象方法必须在子类中被实现,除非子类也是抽象类   
  • final用法 
    • 类不希望被继承
    • 方法不希望被重写
    • 属性值不希望被修改 final int a= 0;  public final void play(){};  public final class Piano{}
  • static
    • 可以用来修饰属性,方法和代码块和类
    • 修饰的属性和方法成为类属性(类变量).类方法

转载于:https://www.cnblogs.com/SandyLam/p/5804280.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值