class Person {
public String name; public char sex; public int age;
public Person(String name,char sex,int age) {
this.name=name; this.sex=sex; this.age=age; } }
class Student extends Person {
public String sno; public String classno;
public void updateAge (int age) {
this.age=age ; }
public String toString() {
System.out.println(\"姓名:\"+name+ \" 性别:\"+sex + \" 年龄:\"+age+
\" 学号:\"+sno+ \" 班级:\"+classno+\" \");
return \"Name:\"+name+ \"Sex:\"+sex + \"Age:\"+age+ \"Sno:\"+sno+ \"Classno:\"+classno+\" \"; }
Student(String name,char sex,int age,String sno,String classno) {
super(name,sex,age); this.sno=sno;
this.classno=classno; } }
public class TestStudent {
public static void main(String args[]) {
Student a[]=new Student [4];
a[0]=new Student(\"周攀\",'男',20,\"201012135055\",\"1002\"); a[1]=new Student(\"徐炎\",'男',19,\"201012135068\",\"1002\"); a[2]=new Student(\"嘉炬\",'男',20,\"201012135071\",\"1002\");
a[3]=new Student(\"刘孟薇\",'男',19,\"201012135081\",\"1002\"); for(int i=0;i<4;i++) {
a[i].toString(); } } }
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
源程序如下:
class Circle extends Shape {
void draw(){System.out.println(\"Draw Circle\");} }
class Line extends Shape {
void draw(){System.out.println(\"Draw Line\");} }
class Shape {
void draw() {
System.out.println(\"Shape Drawing\"); } }
public class TestVirtualInvoke {
static void doStuff(Shape s) {
s.draw(); }
public static void main(String args[]){ Circle c = new Circle(); Triangle t = new Triangle(); Line l = new Line(); doStuff(c); doStuff(t); doStuff(l); } }
class Triangle extends Shape {
void draw(){System.out.println(\"Draw Triangle\");} }
用抽象类:
class Circle extends Shape{
void draw(){System.out.println(\"Draw Circle\");} }
class Line extends Shape{
void draw(){System.out.println(\"Draw Line\");} }
abstract class Shape{ abstract void draw(); }
public class TestVirtualInvoke{
public static void main(String args[]){ Shape c = new Circle(); Shape t = new Triangle(); Shape l = new Line(); c.draw(); t.draw(); l.draw(); } }
class Triangle extends Shape{
void draw(){System.out.println(\"Draw Triangle\");} }
用接口:
class Circle implements Shape{ public void draw(){
System.out.println(\"Draw Circle\"); } }
class Line implements Shape {
public void draw(){
System.out.println(\"Draw Line\"); } }
public interface Shape { }
public class TestVirtualInvoke{
public static void main(String args[]){ Shape c = new Circle(); Shape t = new Triangle(); Shape l = new Line(); c.draw();
public void draw();
t.draw(); l.draw(); } }
class Triangle implements Shape{ public void draw(){
System.out.println(\"Draw Triangle\"); } }
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 源程序如下:
/*抽象员工类*/
public abstract class Person {
private static int personNO;//员工编号 static{
personNO=1000;//初始化员工编号 }
private String name; private int wage;
public void setWage(int wage) { this.wage = wage; }
public Person(String name) {
this.name=name; personNO++; }
public abstract int getPay();//将工资计算方法定义为抽象的,具体实现在子类中
public String toString() {
System.out.println(\"****公司员工基本信息*****\");
return \"员工姓名:\"+name+\"\\n员工编号:\"+personNO+\"\\n月薪水:\"+wage; } }
/*经理类*/
public class Manerger extends Person{
public Manerger(String name) {
super(name);
System.out.println(\"经理创建成功\");
}
public int getPay() { super.setWage(8000); return 8000; } }
/*技术员类*/
public class TechPerson extends Person{
private int hours;//当月的工作时(以小时计数) public TechPerson(String name,int hours) {
super(name); this.hours=hours;
System.out.println(\"技术员创建成功\"); }
public int getPay() {
super.setWage(100*hours); return 100*hours; } }
public class Salesman extends Person{
private int saleSum;//销售总额 private float wagePercent;//提成比例
public Salesman(String name,int saleSum,float wagePercent) { super(name);
this.saleSum=saleSum;
this.wagePercent=wagePercent; System.out.println(\"销售员创建成功\"); }
public int getPay() { int temp;
temp=(int)(this.wagePercent*this.saleSum); super.setWage(temp); return temp; } }
/*测试类*/
public class Test {
/**测试公司所有员工类 * @param args */
public static void main(String[] args) {
Manerger manergerOne=new Manerger(\"嘉炬\"); TechPerson techOne=new TechPerson(\"王丽\ Salesman saleOne=new Salesman(\"廖小明\
//调用getWage()方法
int manergeWage=manergerOne.getPay(); int techWage=techOne.getPay(); int saleWage=saleOne.getPay();
System.out.println(\"经理月薪:\"+manergeWage+\"技术员月薪:\"+techWage+\"销售员月薪:\"+saleWage);
//打印员工具体信息
System.out.println(manergerOne.toString()); System.out.println(techOne.toString()); System.out.println(saleOne.toString()); }
}
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务