目录
1、概念
继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
例如 :可以先定义一个动物类(父类),动物类有以下属性:名字,年龄,体重,有吃东西的动作。而又由动物这个类派生出狗和猫两个类(子类),为狗添加一个汪汪叫的动作,而为猫添加一个抓老鼠。
注:
① 子类将继承父类的成员变量和成员方法
② 子类继承父类之后,需要添加自己特有的成员,体现出与基类的不同。
2、语法格式
class 父类{
}
class 子类 extends 父类{
}
3、前期准备
新建一个项目,并在src目录下新建一个包,包中包含父类(Animal),子类(Cat和Dog)以及测试类Test。
4、代码展示
① Animal.java
package inherit;
public class Animal {
private String name;
public int age;
public Animal(String name, int age) {
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void eat(){
System.out.println(name+"正在吃饭");
}
}
注:
① public修饰的变量和方法可以直接调用
② private修饰的name变量后面只能通过public修饰的setName()和getName()方法调用
② Dog.java
package inherit;
public class Dog extends Animal {
public Dog(String name,int age) {
super(name,age);
}
public void barks(){
System.out.println(getName()+"汪汪叫!");
}
}
注:
①子类用extends修饰
②子类中存在与父类同名的方法成员,则通过关键字super在子类方法中访问父类方法成员
③ Cat.java
package inherit;
public class Cat extends Animal{//Cat子类 extends继承 Animal父类
public Cat(String name,int age) {
super(name,age);
}
public void catchMouse (){
System.out.println(getName()+"正在抓老鼠!");
}
}
④ Test.java
package inherit;
public class Test {
public static void main(String[] args) {
Dog dog=new Dog("大黄",10);
dog.setName("anan");
dog.eat();
Cat cat=new Cat("小黑",4);
cat.catchMouse();
}
}
注:
① 通过Dog dog=new Dog(“大黄”,10); 和dog.setName(“anan”);都可以对name赋值。