继承、继承中的重写

[修饰符] 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("员工的姓名、工资、生日:"+"\n"+e.getName()+"\n"+e.getSalary()+"\n"+e.getBirthday());
    System.out.println("经理的姓名、工资、生日:"+"\n"+m.getName()+"\n"+m.getSalary()+"\n"+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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值