十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这题目设计的Lady类有点多此一举,代码如下:
成都创新互联公司主营宕昌网站建设的网络公司,主营网站建设方案,app软件开发公司,宕昌h5成都微信小程序搭建,宕昌网站营销推广欢迎宕昌等地区企业咨询
public abstract class Animal {
private String name;
public Animal(String name){
this.name = name;
}
abstract void enjoy();
}
public class Dog extends Animal {
private String hair_color;
public Dog(String name, String hair_color) {
super(name);
this.hair_color = hair_color;
}
@Override
void enjoy() {
System.out.println("汪汪汪~");
}
}
public class Cat extends Animal {
private String eyes_color;
public Cat(String name, String eyes_color) {
super(name);
this.eyes_color = eyes_color;
}
@Override
void enjoy() {
System.out.println("喵喵喵~");
}
}
public class Lady {
private String name;
private Animal[] pets;
public Lady(String name, Animal[] pets) {
this.name = name;
this.pets = pets;
}
public void myPetEnjoy(){
for (int i = 0; i pets.length; i++) {
pets[i].enjoy();
}
}
}
public class TestAnimal {
public static void main(String[] args) {
Cat cat = new Cat("小黑狗", "黑色");
Dog dog = new Dog("小花猫", "黄色");
Animal[] pets = {cat, dog};
Lady lady = new Lady("张三", pets);
lady.myPetEnjoy();
}
}
//输出如下:
喵喵喵~
汪汪汪~
上面 wuzhikun12同学写的不错,但我想还不能运行,并且还不太完善。我给个能运行的:(注意:文件名为:Test.java)
//要实现对象间的比较,就必须实现Comparable接口,它里面有个compareTo方法
//Comparable最好使用泛型,这样,无论是速度还是代码量都会减少
@SuppressWarnings("unchecked")
class Student implements ComparableStudent{
private String studentNo; //学号
private String studentName; //姓名
private double englishScore; //英语成绩
private double computerScore; //计算机成绩
private double mathScore; //数学成绩
private double totalScore; //总成绩
//空构造函数
public Student() {}
//构造函数
public Student(String studentNo,String studentName,double englishSocre,double computerScore,double mathScore) {
this.studentNo = studentNo;
this.studentName = studentName;
this.englishScore = englishSocre;
this.computerScore = computerScore;
this.mathScore = mathScore;
}
//计算总成绩
public double sum() {
this.totalScore = englishScore+computerScore+mathScore;
return totalScore;
}
//计算评测成绩
public double testScore() {
return sum()/3;
}
//实现compareTO方法
@Override
public int compareTo(Student student) {
double studentTotal = student.getTotalScore();
return totalScore==studentTotal?0:(totalScorestudentTotal?1:-1);
}
//重写toString方法
public String toString(){
return "学号:"+this.getStudentNo()+" 姓名:"+this.getStudentName()+" 英语成绩:"+this.getEnglishScore()+" 数学成绩:"+this.getMathScore()+" 计算机成绩:"+this.getComputerScore()+" 总成绩:"+this.getTotalScore();
}
//重写equals方法
public boolean equals(Object obj) {
if(obj == null){
return false;
}
if(!(obj instanceof Student)){
return false;
}
Student student = (Student)obj;
if(this.studentNo.equals(student.getStudentName())) { //照现实来说,比较是不是同一个学生,应该只是看他的学号是不是相同
return true;
} else {
return false;
}
}
/*以下为get和set方法,我个人认为,totalScore的set的方法没必要要,因为它是由其它成绩计算出来的
在set方法中,没设置一次值,调用一次sum方法,即重新计算总成绩
*/
public String getStudentNo() {
return studentNo;
}
public void setStudentNo(String studentNo) {
this.studentNo = studentNo;
sum();
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
sum();
}
public double getEnglishScore() {
return englishScore;
}
public void setEnglishScore(double englishScore) {
this.englishScore = englishScore;
sum();
}
public double getComputerScore() {
return computerScore;
}
public void setComputerScore(double computerScore) {
this.computerScore = computerScore;
sum();
}
public double getMathScore() {
return mathScore;
}
public void setMathScore(double mathScore) {
this.mathScore = mathScore;
sum();
}
public double getTotalScore() {
return totalScore;
}
}
//Student子类学习委员类的实现
class StudentXW extends Student {
//重写父类Student的testScore()方法
@Override
public double testScore() {
return sum()/3+3;
}
public StudentXW() {}
//StudentXW的构造函数
public StudentXW(String studentNo,String studentName,double englishSocre,double computerScore,double mathScore) {
super(studentNo,studentName,englishSocre,computerScore,mathScore);
}
}
//Student子类班长类的实现
class StudentBZ extends Student {
//重写父类Student的testScore()方法
@Override
public double testScore() {
return sum()/3+5;
}
public StudentBZ() {}
//StudentXW的构造函数
public StudentBZ(String studentNo,String studentName,double englishSocre,double computerScore,double mathScore) {
super(studentNo,studentName,englishSocre,computerScore,mathScore);
}
}
//测试类
public class Test {
public static void main(String[] args) {
//生成若干个student类、StudentXW类、StudentBZ类
Student student1 = new Student("s001","张三",70.5,50,88.5);
Student student2 = new Student("s002","李四",88,65,88.5);
Student student3 = new Student("s003","王五",67,77,90);
StudentXW student4 = new StudentXW("s004","李六",99,88,99.5);
StudentBZ student5 = new StudentBZ("s005","朱漆",56,65.6,43.5);
Student[] students = {student1,student2,student3,student4,student5};
for(int i = 0 ; istudents.length; i++){
double avgScore = students[i].testScore();
System.out.println(students[i].getStudentName()+"学生的评测成绩为:"+ avgScore+"分");
}
}
}
运行结果为:
张三学生的评测成绩为:69.66666666666667分
李四学生的评测成绩为:80.5分
王五学生的评测成绩为:78.0分
李六学生的评测成绩为:98.5分
朱漆学生的评测成绩为:60.03333333333333分
既然是商品库存系统,那么最少有各种商品的单件信息,1:需要有商品的进货价格,卖出价格,剩余数量,每月的销售数量,进货时间等,在对应的数据库表创建相应的字段。2:商品管理就是对多种商品的管理,所以还要有各种商品的分类,比如烟酒类,饮料类,小吃类,将其分类好管理,同样数据库里面建立相对的数据表。具体需要根据自己需求来编写。3:界面的设计,这里可分为登陆界面,其中一个是用户登陆后查看的界面,和管理员登陆后查看的界面,用户登录只能查看对应的商店的物品管理,并且能进行修改自家商品。管理员登陆可查看所有的用户的商店物品,及修改物品信息。而物品分类栏就可以用jQuery来实现局部的刷新界面。左边为物品分类栏,右边为选中物品类的信息。点击右边分类物品的某件物品,可跳转到该类物品的单个信息,如第1点提到的。
打印值的是连接打印机来打印吧?
可以在后台对出库单进行拼装显示到页面,然后利用IE提供的方法进行打印当前页来打印。。。
还有就是可以利用商业软件来实现,实现方式也和IE差不多,后台拼装数据 前台调用插件打印数据,相比ie要更近灵活,方便 (IE打印会弹出一个选择框让用户选择)
我推荐你使用lodop 找下这个。免费的 开发者也有提供API (如果商用建议购买 也很便宜)
可以这么考虑!商品类
publicGoods{
privateintnum;//商品编号
privateStringname;//商品名称
privateStringwhen;//出厂日期
privateStringfactory;//商家
//构造方法
publicGoods(){
}
publicGoods(intnum,Stringname,Stringwhen,Stringfactory){
this.num=num;
this.name=name;
this.when=when;
this.factory=factory;
}
//省略四种属性的setter和getter方法(快捷键shift+alt+s+r)
}
食品类
publicFoodsextendsGoods{
privateStringbadtime;//保质期
privateStringmade;//成分
//构造方法
publicFoods(){
}
publicFoods(intnum,Stringname,Stringwhen,Stringfactory,Stringbadtime,Stringmade){
super(num,name,when,factory);
this.badtime=badtime;
this.made=made;
}
//省略两种属性的setter和getter方法
}
服装类
publicClothesextendsGoods{
privateStringtype;//型号
privateStringwhat;//面料
//构造方法
publicClothes(){
}
publicClothes(intnum,Stringname,Stringwhen,Stringfactory,Stringtype,Stringwhat){
super(num,name,when,factory);
this.type=type;
this.what=what;
}
//省略两种属性的setter和getter方法
}
这就是你需求的父类和继承父类的子类。至于允许,你要根据要求创建测试类。
父类和子类是不能运行出结果的。