JAVA继承(extends)
1、什么是继承
继承就是基于一个已存在的类,创建一个新的类。已存在的类即父类,新的类即子类,继承就是子类继承并拥有父类的属性和方法,同时,子类还有拥有父类所不具有的属性和方法。
父类,也称为基类、超类(superclass);子类,也称为派生类。
2、继承的特点
1. Java语言不像C++等语言中支持多继承,Java语言中只支持单继承,即一个子类继承一个父类。
2. 子类只能继承父类的非private的属性和方法。
3. Java语言中一个类没有显示任何类,则默认该类继承javaSE库里的java.long.object类
3、继承的作用
1. 代码复用。
2.有了继承才有了多态机制和方法覆盖(方法重写)。
4、继承的语法格式
修饰符列表 class 类名 extends 父类名{
类体 = 属性 + 方法
}
5、继承的实现
创建一个类为persion类
public class persion {
String name;
int age;
//无参构造方法
public persion(){
}
//有参构造方法
public persion(String name,int age){
this.name = name;
this.age = age;
}
//自定义方法
public void eat(){
System.out.println("干饭!");
}
public void sleep(){
System.out.println("睡觉!");
}
public void show(){
System.out.println("Name:"+ name() + ",Age:" + age);
}
}
再创建一个student类来继承persion类
public class student extends persion{
String major;
public void study(){
System.out.println("学习!");
}
//有参构造方法
public student(String name, int age,String major) {
this.age = age;
this.major = major;
this.name = name;
}
}
创建一个测试类ExtendsTest
public class ExtendsTest {
public static void main(String[] args) {
//创建一个p1的persion对象
persion p1 = new persion();
p1.age = 19;
p1.name("张三");
p1.show();
p1.sleep();
p1.eat();
//创建一个s1的student对象
student s1 = new student();
s1.name("李四");
s1.age = 20;
//s1调用父类的方法
s1.show();
s1.eat();
s1.sleep();
//调用自己的方法
s1.study();
}
}
代码运行结果:
student类继承了persion类的eat、show、sleep方法和name、age属性,在加上自己的study方法,所以s1对象可以调用四个方法。