帮我做一个java小作业,在线等。。。
5个回答
展开全部
/** 回答纯手打,未参考任何资料,仅供楼主参考使用,转载请注明出处 */
我先翻译一下题目意思:
需要一个超类Pets(有name和age两个属性);
需要三个子类Dogs,Cats,Brids;
创建一个Pets的数组,数组里的元素为三个子类(这句话可能翻译有误,英文不太好);
循环数组同时要打印出数组里的元素分别做了什么事;
你必须使用下列所有的东西:
继承,多态,重写,接口(接口里有一个方法是Pet Activity),抽象类,封装,构造方法,重载。
注:Nassie Caases Cats这句话实在是不知道什么意思。
/********** 代码如下,实体和接口均用了默认包,运行代码时请先引入类 **********/
/** 接口 */
public interface IPets {
/** 动物行为 */
public void activity();
}
/** 超类:宠物 */
public abstract class Pets implements IPets {
private String name;
private Integer age;
public Pets() {
super();
}
public Pets(String name, Integer age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
/** 子类:狗 */
public class Dogs extends Pets {
public Dogs() {
super();
}
public Dogs(String name, Integer age) {
super(name, age);
}
@Override
public void activity() {
System.out.println("名字:" + super.getName() + ",年龄:" + super.getAge() + "。小狗叫汪汪汪。");
}
}
/** 子类:猫 */
public class Cats extends Pets implements IPets {
public Cats() {
super();
}
public Cats(String name, Integer age) {
super(name, age);
}
@Override
public void activity() {
System.out.println("名字:" + super.getName() + ",年龄:" + super.getAge() + "。小猫叫喵喵喵。");
}
}
/** 子类:鸟 */
public class Birds extends Pets implements IPets {
public Birds() {
super();
}
public Birds(String name, Integer age) {
super(name, age);
}
@Override
public void activity() {
System.out.println("名字:" + super.getName() + ",年龄:" + super.getAge() + "。小鸟叫叽叽喳喳。");
}
}
public class Main {
public static void main(String[] args) {
Pets dog = new Dogs("小狗", 1);
Pets cat = new Cats("小猫", 2);
Pets bird = new Birds("小鸟", 3);
Pets[] pets = { dog, cat, bird };
for (Pets pet : pets) {
pet.activity();
}
}
}
运行结果:
展开全部
这是java?
判断题?
1 √
2 没看懂...
判断题?
1 √
2 没看懂...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-09-21
展开全部
这字我也是醉了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这字体,好吧,你赢了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
测试类:
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Pets[] pets = {new Dogs(),new Cats(),new Birds()};
for(Pets pet : pets){
pet.action();
}
}
}
父类:
public class Pets {
public String name;
public int age;
public void action(){
}
}
子类:
public class Dogs extends Pets{
public void action(){
System.out.println("Dogs chases cats ...");
}
}
public class Cats extends Pets{
public void action(){
System.out.println("Cats hunt birds ...");
}
}
public class Birds extends Pets{
public void action(){
System.out.println("Birds talk ...");
}
}
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Pets[] pets = {new Dogs(),new Cats(),new Birds()};
for(Pets pet : pets){
pet.action();
}
}
}
父类:
public class Pets {
public String name;
public int age;
public void action(){
}
}
子类:
public class Dogs extends Pets{
public void action(){
System.out.println("Dogs chases cats ...");
}
}
public class Cats extends Pets{
public void action(){
System.out.println("Cats hunt birds ...");
}
}
public class Birds extends Pets{
public void action(){
System.out.println("Birds talk ...");
}
}
追问
太棒啦。不过题目要求不仅要声明,还要求随便写几行代码必须用到 抽象类 多态 继承 接口 重载 重写 构造函数 多态 封装。。。不知可否举几个例子?。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询