继承、继承中的重写

[修饰符] class 子类名 extends 父类名 {

类体

}

例1:

public class Bird{//父类
    String color="white";
    String skin="羽毛";
}
public class Pigeon extends Bird{//子类
    public static void main(String[] args) {
        Pigeon pigeon=new Pigeon();//建立类的对象
        System.out.println(pigeon.color);//输出对象属性color
    }
}

例2

     

import java.util.Date;

public class Employee {
private String name;//定义成员变量
private double salary;
private Date birthday;
public String getName() {//获取成员变量
    return name;
}
public void setName(String name) {//设置成员变量
    this.name=name;
}
public double getSalary() {
    return salary;
}
public void setSalary(double salary){
    this.salary=salary;
}
public Date getBirthday() {
    return birthday;
}
public void setBirthday(Date birthday) {
    this.birthday=birthday;
}
}
public class Manager extends Employee {//继承,简化代码
private double bonus;//定义变量,奖金
public double getBonus() {//获取成员变量
    return bonus;
}
public void setBonus(double bonus) {//设置成员变量
    this.bonus=bonus;
}
}
import java.util.Date;
public class Test {
public static void main(String[] args) {
    Employee e=new Employee();//创建Employee对象,并赋值
    e.setName("Java");//赋值成员变量
    e.setSalary(2000);
    e.setBirthday(new Date());
    Manager m=new Manager();//创建Manager对象,并赋值
    m.setName("阿伟");//调用父类方法
    m.setSalary(5000);
    m.setBirthday(new Date());
    m.setBonus(2000);
    //输出经理和员工属性值
    System.out.println("员工的姓名、工资、生日:"+"
"+e.getName()+"
"+e.getSalary()+"
"+e.getBirthday());
    System.out.println("经理的姓名、工资、生日:"+"
"+m.getName()+"
"+m.getSalary()+"
"+m.getBirthday());
    System.out.println("经理的奖金:"+m.getBonus());
}
}

继承中的重写

子类中的方法名与父类中的相同时,不继承父类方法,执行子类方法。重写也称为覆盖。

例:父类Animal,子类Cat、Dog、Sheep,执行文件Zoo

Dog类和Cat类都重写了父类的方法cry( ),执行子类方法。但Sheep类没有重写父类方法,所以执行父类方法。

      

public class Animal {
public void cry() {
    System.out.println("动物的叫声");
}
}

public class Dog  extends Animal{
public void cry() {
    System.out.println("狗的叫声“汪汪……”");
}
}

public class Cat extends Animal{
    public void cry() {
        System.out.println("猫的叫声“喵喵……”");
    }
}

public class Sheep  extends Animal{
}

public class Zoo {
    public static void main(String[] args) {
        Dog dog=new Dog();//建立对象
        Cat cat=new Cat();//建立对象
        Sheep sheep=new Sheep();//建立对象
        dog.cry();
        cat.cry();
        sheep.cry();
    }
}
原文地址:https://www.cnblogs.com/xixixing/p/8274954.html