您的位置:首页 > 编程语言 > Java开发

java_抽象类应用

2016-07-27 18:46 483 查看
本例子通过一个实例来具体阐述抽象类的应用,首先一个抽象类Person2,里面定义了一些人的共有属性(年龄,姓名),和抽象方法want(),want()方法来具体实现不同的人的需求(学生想要成绩,工人想要工资)。接下来student类和worker类继承Person类,并且实现自己想要的want(),但是人的共有属性(年龄,姓名)就不要再次实现了,这样就大大减少了代码量。

还要记住不要去继承一个已经实现好的抽象类。

package com.test;

abstract class Person2{
private int age;
private String name;
public Person2(int age,String name) {
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public abstract void want();
}

class Student2 extends Person2{

private int score;

public Student2(int age, String name,int score) {
super(age, name);
this.score = score;

}
public int getScore() {
return score;
}

public void setScore(int score) {
this.score = score;
}

@Override
public void want() {
System.out.println("姓名: "+getName()+"  年龄:"+getAge()+"  成绩: "+getScore());
}

}

class Worker2 extends Person2{

private int money;
public void setMoney(int money) {
this.money = money;
}
public int getMoney() {
return money;
}

public Worker2(int age, String name,int money) {
super(age, name);
this.money = money;
}

@Override
public void want() {
System.out.println("姓名: "+getName()+"  年龄:"+getAge()+"  工资: "+getMoney());
}

}

public class AbsDetail {

public static void main(String[] args) {
Student2 s = new Student2(10, "小明", 100);
s.want();

Worker2 w = new Worker2(35, "大明", 1000000);
w.want();
}

}


运行结果:

姓名: 小明  年龄:10  成绩: 100
姓名: 大明  年龄:35  工资: 1000000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: