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

我的学习之路-JAVA-04

2016-05-19 18:04 399 查看
/*
抽象类与抽象方法
特点:
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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: