/*
抽象类与抽象方法
特点:
1.抽象方法定义在抽象类中,必须被abstract修饰
2.抽象类不能被实例化,因为调用抽象方法没有意义
3.抽象类必须有其子类覆盖了所有的抽象方法后,该子类才可以被实例化,否则这个子类还是抽象类
细节:
1.抽象类虽然不能被实例化,但是也有构造函数,以为可以给子类对象初始化
2.抽象类中可以不定义抽象函数,目的是不让该类创建对象,但是很少见,如AWT的适配器对象就是这样的
3.abstrastic不可与private,static, final共同存在
4.抽象类一定是一个父类
*/
/*
抽象类练习:
某公司有程序员和项目经理,程序员有姓名,工号,工资属性,有工作行为
项目经理有有姓名,工号,工资,奖金属性,有工作行为
为他们进项建模
*/
abstract class Employee
{
private String name;
private String num;
private double pay;
Employee(String name, String num, double pay)
{
this.name = name;
this.num = num;
this.pay = pay;
}
public abstract void work();
public void show()
{
System.out.println(this.name);
System.out.println(this.num);
System.out.println(this.pay);
}
}
class Programmer extends Employee
{
Programmer(String name, String num, double pay)
{
super(name, num, pay);
}
public void work()
{
System.out.println("程序员工作。。。");
}
}
class Manager extends Employee
{
double prize;
Manager(String name, String num, double pay, double prize)
{
super(name, num, pay);
this.prize = prize;
}
public void work()
{
System.out.println("经理工作。。。");
}
public void show()
{
super.show();
System.out.println(this.prize);
}
}
class AbstractDemo
{
public static void main(String[] args)
{
Programmer a = new Programmer("ming","12345",8000);
a.work();
a.show();
Manager b = new Manager("fei","56789",10000,3000);
b.work();
b.show();
}
}
我的学习之路-JAVA-04
最新推荐文章于 2023-07-08 10:47:55 发布