继承的描述:
在现实生活中,继承一般指的是子女继承父辈的财产。在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物,同理,波斯猫和巴厘猫继承自猫,而沙皮狗和斑点狗继承自狗。这些动物之间会形成一个继承体系。
在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。在程序中,如果想声明一个类继承另一个类,需要使用extends关键字。
通过 extends 关键字让类与类之间产生继承关系。
多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。多个类可以称为子类,单独这个类称为父类或者超类。
注意事项:
子类可以直接访问父类中的非私有的属性和行为。
子类无法继承父类中私有的内容。
父类怎么来的?共性不断向上抽取而来的。
继承的特点:
1.子类可以继承父类de行为和属性,但是子类不可以继承父类的构造器
2.java是单继承模式,一个类只能继承一个直接父类
3.java不支持多继承,单支持多层继承
4.Java中所有的类都是Objiect的子类
父类:
package com.yuyang.extendss;
public class People {
/**
* 父类
*/
private String name;
private int age;
/**
*
* @return
*/
public void queryCourse(){
System.out.println(name+"查看课表");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
子类:
package com.yuyang.extendss;
public class Student extends People{
/**
* 子类:学生类
*/
/**
* 学生类独有的行为
*/
public void writeInfo(){
System.out.println(getName()+"学习了java");
}
}
测试类:
package com.yuyang.extendss;
public class Test2 {
//目标:理解继承的设计思想
public static void main(String[] args) {
Student s=new Student();
s.setName("小胖鱼");//使用父类的
s.setAge(23);
System.out.println(s.getName());
System.out.println(s.getAge());
s.queryCourse();
s.writeInfo();
}
}
调试结果:
小胖鱼
23
小胖鱼查看课表
小胖鱼学习了java
Process finished with exit code 0