Java面向对象中类的继承笔记

继承的概念:

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()方法,但是可以调用方法,这就是从父类继承过来的。在类的继承中有以下注意几点:

  1. Java类只支持单继承,不允许多继承,也就是说一个类只能继承一个直接父类。
    错误实例:
class A{
    
    };
class B{
    
    };
class C extend A,B{
    
    }
  1. 多个类可以继承同一个类。
class A{
    
    };
//类B,C同时继承A类
class B extend A{
    
    };
class C extend A{
    
    };
  1. 可以多继承,一个父类又可以继承其他父类,子类和父类是相对概念。
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(),输出的结果就是重写后的结果。
加油吧!!!

猜你喜欢

转载自blog.csdn.net/qq_42494654/article/details/109230444