java 中关于抽象类和接口的范例,通过多态中的向上转移实现

java 中关于抽象类和接口的范例,通过多态中的向上转移实现


/*
*模板设计范例
*模拟人的两个实例学生和工人
*/
abstract class Person{        //人的模板,抽象类
 
	private String name;             //人的共同属性姓名
	private int age;				 //人的共同属性年龄

	public Person(String name,int age){  //构造初始化人的基本属性
		this.name = name;
        this.age = age; 
	}

	public String getName(){
		return this.name;
	}
    
	public int getAge(){
		return this.age;
	}

	public void say(){             //人都有说话的功能
		System.out.println(this.getContent());
	}

	public abstract String getContent();  //抽象方法,人说出的话会不同

}

class Students extends Person{   //继承父类

    private int score;

    public Students(String name,int age,int score){  //初始化“学生”这个人,有特有属性成绩
       super(name,age); //调用父类构造初始化基本数据
	   this.score = score;
	}

    public String getContent(){  //覆写抽象方法,即这个学生的行为
		return "学生信息:"+"姓名:"+super.getName()+" 年龄:"+super.getAge()+" 成绩:"+this.score;
    }
}

class Workers extends Person{   //继承父类

    private int salary;
    
	public Workers(String name,int age,int salary){  //初始化“工人”这个人,有特有属性成绩
       super(name,age); //调用父类构造初始化基本数据
	   this.salary = salary;
	}

    public String getContent(){  //覆写抽象方法,即这个学生的行为
		return "工人信息:"+"姓名:"+super.getName()+" 年龄:"+super.getAge()+" 薪水:"+this.salary;
    }

}

public class Mbsj{
    public static void main(String args[]){
		Person p1 =null;  
		Person p2 =null;	
        p1 = new Students("张三",15,95);   //采用对象的多态特性,向上转移
        p2 = new Workers("李四",28,4000);
		p1.say();
		p2.say();
	}
}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值