面向对象 抽象类的小例子。
如果不会的话可以参考一下
抽象类的概念:当描述事物时,没有足够的信息对该事物进行描述,那么该描述对应的类就是一个抽象类.
需求:
具体事物:基础班学生,就业班学生
共性:姓名,年龄,学习
特性:
基础班学生学JavaSE
就业班学生学Android
// 分析
//要声明的属性 姓名 年龄
//学习没有说是学什么,所以是抽象的,要用抽象方法来写,
/*
思路:
1、定义一个类来存放公共的属性和行为。并重写构造方法
2、定义一个基础班的学生类 有构造方法,重写学习的方法
3、定义一个就业办学生类。 有构造方法,重些学习方法
4、创建一个测试类来测试
*/
//测试类
public class Demo2 {
public static void main(String[] args) {
BaseStudent bs=new BaseStudent("张三",18); //创建一个基础班学生的对象
bs.Study(); //调用学习的方法
JiuYeStudent jys=new JiuYeStudent("李四",20); //创建一个就业班学生的对象
jys.Study(); //调用学习的方法
}
}
// 1、抽象出一个类来存放公共的属性和行为。并重写构造方法
abstract class Student{
private String name;
private int age;
public Student(){
}
public Student(String name,int age){
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public abstract void Study();
}
// 2、定义一个基础班的学生类 有构造方法,重写学习的方法
class BaseStudent extends Student{
public BaseStudent(){
}
public BaseStudent(String name,int age){
super(name, age);
}
public void Study(){
System.out.println("姓名:"+this.getName()+",年龄:"+this.getAge()+"基础班学生学JavaSE");
}
}
// 3、定义一个就业办学生类。 有构造方法,重些学习方法
class JiuYeStudent extends Student{
public JiuYeStudent(){
}
public JiuYeStudent(String name,int age){
super(name, age);
}
public void Study(){
System.out.println("姓名:"+this.getName()+",年龄:"+this.getAge()+"就业班学生学Android");
}
}
|
|