继承 怎样实现继承:1,先提取共有的属性和方法,放到一个类里,这个叫父类、基类、超类 2.编写子类 修饰符 class 子类名 extends 父类名 好处:提高代码的复用性 子类怎么去访问父类成员: 直接用 name this.资源 this.name super.资源 super.name 能继承父类的那些资源: private 只能本类使用 默认(friendly) 只能是本包访问 protected(受保护的) 只能被同包 和不同包子类访问 public(共有的)能被整个项目去访问 不能继承父类的那些资源: 私有的不能被继承 构造方法不能被继承,但是可以被访问 继承是实现形式:显示的继承extends 隐式的继承(什么都不写)
构造访问的实例化过程:父类的属性——>父类构造方法——》子类的属性——>子类的构造方法 (静态)父类的静态属性——》父类静态的代码块——》子类的静态属性——》子类的静态代码块——》父类的属性——>父类构造方法——》子类的属性——>子类的构造方法 super关键字: 访问父类的属性:super.属性名 访问父类的方法:super.方法名 访问构造方法:1.没有使用super去显示的调用父类的构造方法,也没有使用this去显示的调用本类的构造方法,那么默认调用父类的无参构造 2.如果使用super显示调用父类的构造方法,那就直接调用这个构造方法,不去调用父类的无参构造了 3..如果使用this显示调用本类的构造方法,那就直接调用这个构造方法,不去调用父类的无参构造了 4.如果你什么都不写,它会一直往上调用父类,直到Object类的无参构造为止方法重写 原因:不能满足业务的需求
方法重写 方法重载 --------一定要背会 位置 父子类 同类 方法名 相同 相同 参数列表 相同 不同 返回值 相同或子类 无关 访问修饰符 相同或扩大 无关
抽象类和抽象方法 特点:用abstract修饰的类叫做抽象类 抽象类里可以有抽象方法,也可以没有抽象方法 抽象类不能被实例化,它里边的抽象方法必须被子类重写,否则子类也是抽象类 抽象方法:用abstract修饰的方法叫抽象方法 有抽象方法的类必须是抽象类 抽象方法没有方法体final 修饰属性:修饰基本数据类型——值不变 修饰引用数据类型——地址不变,里面的属性可以改变 修饰方法:方法不能被重写 修饰类:类不能被继承
转载于:https://www.cnblogs.com/zhuhuibiao/p/9313904.html