Java继承
Java继承(Inheritance)是Java面向对象编程中的一种重要概念,它允许一个类(称为子类或派生类)继承另一个类(称为超类或基类)的特性与行为。
继承的关键是将超类的特性和方法继承到子类中,这样子类就可以拥有某些超类的特点和方法。子类可以通过继承的方式拥有超类的公有方法和变量,同时还可以添加自己的方法和变量。
Java中的继承实现通过关键字extends。例如,
public class SubClass extends SuperClass {
// SubClass 继承了 SuperClass 的特性和方法
// 同时可以添加自己的方法和变量
}
在上面的例子中,SubClass继承了SuperClass,可以使用SuperClass中的方法和变量。同时,SubClass还可以添加自己的方法和变量。
继承的好处是可以减少代码重复,提高代码的可维护性和扩展性。同时也可以让代码结构更加清晰,易于理解。
特点:
1 子类不能继承父类的private 属性和方法
2类的继承是单继承,但是可以多重继承。
3 一般属性用private修饰,方法用public修饰,所以我们以后开发的工作里面,主要是继承方法的。
格式: extends
public 子类 extends 父类{
}
使用场景:
如果多个类有共同的属性和方法,那么我们可以把这些类中共同的属性和方法放到父类中,让这些类(子类)去继承父类,减少代码的重复性。
this、super
都可以代表对象,对象可以调用属性和方法 this.xx super.xx
构造方法里面怎么用。 this() super() 代表调用构造方法,并且只能在构造方法里面被调用,而且必须放在第一行
this:
1 对象本身,new的对象就是这个this
2 this() 调用构造方法,可以有参数,一般只在构造方法里面
3 如果构造方法里面调用this(),只能放在第一行,否则报错。
构造方法补充:
如果类里面没有写构造方法,那么系统默认给一个无参构造方法。
如果类里面有有参构造方法,那么系统不会给无参构造方法。
super
1 代表的就是父类对象
2 子类的构造方法里面,默认第一句会添加super()
3 如果子类构造方法手动调用super(),必须放在第一行
抽象类
抽象类: 把具有共同特征的类提取出来就是抽象类。
特点:
1 不能实例化对象。
2 抽象类就是当爹的。(抽象类就是用来被继承)
格式:
在创建类的时候,class前面加上abstract
抽象方法:被abstract修饰的方法就叫抽象方法,没有方法体。
如果普通类继承了抽象类,那么抽象类中的抽象方法必须被重写,否则报错
抽象类和普通类的区别:
1 普通类里面不能有抽象方法、抽象类里面可以有普通方法
2 抽象类里面可以有构造方法,但是不能实例化对象
方法重写
方法重写: 在继承或者实现关系里面,如果子类和父类的方法名、参数列列表、返回值完全一致,就是方法重写。修饰符>父类,异常<父类
1 在继承或者实现关系里面.
2 方法名相同
3 参数列表
4 返回值
5 修饰符
6 异常
方法重写的目的?
父类的方法不适用子类,那么子类就要考虑重新定义这个方法