继承、多态
Java里只能直接继承于一个类
只能继承一个类需要在父类基础之上重新实现父类的方法,子类需要重写这个方法。这个过程叫重写或者覆盖
如果子类重写了父类的方法,那么不会去掉父类的方法,如果没有就重写
重载:同一各类,方法相同参数不同
重写:方法与参数相同,子类修饰符范围大于等于父类,子类的返回值小于或者等于父类
先从当前类里面查找这个方法,如果没有就从父类去查找,没有的话就会报错
可以继承父类的属性和方法,但不能继承父类构造方法
子类不能继承父类private修饰的属性和方法,子类继承父类的方法(public 或者ptotected修饰的方法)
如果子类
super 表示 调用父类的属性或方法
super();表示调用父类的构造方法
this;表示访问当前类或者对象的属性或者方法
class A{
}
class B extends A{
}
class C extends B{
}
MyClass
public class Audi extends Car{
public String feeling;
public Audi(int wheels,String feeling){
super(wheels);
this.feeling = feeling;
System.out.println("Audi 的构造方法");
}
}
Car
public class Car {
public int wheels;
public String color;
public String brand;
public Car(int wheels){
this.wheels = wheels;
System.out.println("Car 构造方法");
}
public void drive(){
System.out.println("汽车可以开");
}
}
Audi
public class Audi extends Car{
public String feeling;
public Audi(int wheels,String feeling){
super(wheels);
this.feeling = feeling;
System.out.println("Audi 的构造方法");
}
}