继承的概念:
Java中允许在一个现有类的基础上构建一个新的类,构建出来的新类称为子类或者派生类,现有的类称为父类。构建出来的子类自动拥有父类的所有可继承的属性和方法。继承使用的关键字为extend。
实例:
//定义一个Animal类,作为父类
public class Animal {
String type;//种类
String name;//名称
//定义一个动物跑的方法
public void run(){
System.out.println("动物跑......");
}
}
//定义Cat类继承Animal类
public class Cat extends Animal {
public void print(){
System.out.println("品种:" + type + ",名称:" + name);
}
}
//测试类
public class Example09 {
public static void main(String[] args) {
Cat cat = new Cat();//创建一个Cat类的实例
cat.type = "金毛";//为品种属性赋值
cat.name = "嘟嘟";//为名称赋值
cat.print();//调用自身的方法
cat.run();//调用继承父类的方法
}
}
运行结果:
Cat类中并没有run()方法,但是可以调用方法,这就是从父类继承过来的。在类的继承中有以下注意几点:
- Java类只支持单继承,不允许多继承,也就是说一个类只能继承一个直接父类。
错误实例:
class A{
};
class B{
};
class C extend A,B{
}
- 多个类可以继承同一个类。
class A{
};
//类B,C同时继承A类
class B extend A{
};
class C extend A{
};
- 可以多继承,一个父类又可以继承其他父类,子类和父类是相对概念。
class A{
};
class B extend A{
};
class C extend B{
};
重写父类的方法:
子类会自动继承父类的所有属性和方法,有时候在子类中需要对父类的方法中修改也就是对父类方法的重写。在子类中重写的方法需要和父类被重写的方法名相同,参数类型以及方法返回值都相同。
实例:
//定义一个Animal类,作为父类
public class Animal {
String type;//种类
String name;//名称
//定义一个动物跑的方法
public void run(){
System.out.println("动物跑......");
}
}
//定义Cat类继承Animal类
public class Cat extends Animal {
public void print(){
System.out.println("品种:" + type + ",名称:" + name);
}
//重写父类的run方法
public void run(){
System.out.println("金毛在奔跑");
}
}
//测试类
public class Example09 {
public static void main(String[] args) {
Cat cat = new Cat();
cat.type = "金毛";
cat.name = "嘟嘟";
cat.print();
cat.run();
}
}
运行结果:
结果可以看出重写父类的run(),输出的结果就是重写后的结果。
加油吧!!!