java简单作业题 22

1、封装一个时间类MyTime,包含一个构造器,3个私有成员变量hour、minute、second以及与它们相应的set和get方法。(如hour有getHour和se... 1、封装一个时间类MyTime,包含一个构造器,3个私有成员变量hour、minute、second以及与它们相应的set和get方法。(如hour有getHour和setHour方法,分别表示获得hour和设置hour)。并重写toString()方法(该方法描述对象,相当于自我介绍,格式如下:public String toString() )。
2、封装一个日期类MyDate,包含一个构造器,3个私有成员变量year、mouth和day以及它们相对应的set和get方法。并重写toString()方法。
3、创建一个FullTime类。其中包含一个MyTime类型的私有成员变量以及与之相对应的set和get方法.一个MyDate类型的私有成员变量以及相对应的set和get方法。并重写toString()方法。假定当前时间为2007年10月2日14点17分35秒,编写用户程序TestFullTime,用FullTime类设置时间为以上的时间,并打印。
4、设计一个动物(Animal)类继承自object。Animal类中有一个吼叫(bark)的方法。并在bark方法中实现动物吼叫的具体实现。再设计三个类Dog类、Cat类、Serpent类。并且让这三个类都继承Animal类。并重写Animal中的bark方法。同时在Serpent类的bark方法中加入修饰符final关键字。全部实现各自类的构造方法。
要求:
建一测试类(Test),在类中通过Dog dog = new Dog()这样子的方式,查看类的继承中构造方法的调用顺序。调用其bark方法。

如何在调用Dog中的bark方法的同时,也同时执行Animal中的bark方法。(强调知识点super关键字)

再创建一个眼镜蛇(Cobra)类去继承Serpent这个类。然后测试能否重写bark这个方法。(强调知识点final关键字)

在线急等 有会的可以先回答我哪一题。
展开
 我来答
zhouxyx
推荐于2018-03-13 · TA获得超过192个赞
知道小有建树答主
回答量:150
采纳率:80%
帮助的人:71.9万
展开全部

public class MyDate {

private int year ;
private int month ;
private int day ;

public MyDate(){}

public MyDate(int year, int month, int day) {
super();
this.year = year;
this.month = month;
this.day = day;
}

public String toString() {
return "MyDate ==>"+year+"-"+month+"-"+day;
}

public int getYear() {
return year;
}

public void setYear(int year) {
this.year = year;
}

public int getMonth() {
return month;
}

public void setMonth(int month) {
this.month = month;
}

public int getDay() {
return day;
}

public void setDay(int day) {
this.day = day;
}

}
public class MyTime {

public static void main(String[] args) {
MyTime time = new MyTime(14,53,20);
System.out.println(time.toString());
}

private int hour;
private int minute;
private int second;

public MyTime() {

}

public MyTime(int hour, int minute, int second) {
super();
this.hour = hour;
this.minute = minute;
this.second = second;
}

public String toString() {
return "current time==>"+hour + ":" + minute + ":" + second;
}

public int getHour() {
return hour;
}

public void setHour(int hour) {
this.hour = hour;
}

public int getMinute() {
return minute;
}

public void setMinute(int minute) {
this.minute = minute;
}

public int getSecond() {
return second;
}

public void setSecond(int second) {
this.second = second;
}

}
public class FullTime {


public static void main(String[] args) {
MyDate myDate = new MyDate(2007, 10, 2);
MyTime myTime = new MyTime(14,17,35);
FullTime fullTime = new FullTime(myDate,myTime);
System.out.println(fullTime);
}

private MyDate myDate;

private MyTime myTime;

public FullTime(MyDate myDate, MyTime myTime) {
super();
this.myDate = myDate;
this.myTime = myTime;
}

public String toString() {
String text = myDate.getYear() + "年" + myDate.getMonth() + "月"
+ myDate.getDay() + "日" + myTime.getHour() + "时"
+ myTime.getMinute() + "分" + myTime.getSecond() + "秒";
return text;
}

public MyDate getMyDate() {
return myDate;
}

public void setMyDate(MyDate myDate) {
this.myDate = myDate;
}

public MyTime getMyTime() {
return myTime;
}

public void setMyTime(MyTime myTime) {
this.myTime = myTime;
}

}


第4题,你自己想办法吧。主要知识点:

1、继承

2、super和final,这个只是表面的东西,说到底还是java中overrides(重写)的要求

3、通过多层间接的继承,你要知道的是 对象被实例化的顺序。

追问
第一二题我自己已经写好了。配合你的第三题 大致明白了  第四题 我自己在研究研究 不会就问你 谢谢啦
追答

public class Test{

public static void main(String[] args) {
Dog dog = new Dog();
dog.bark();
}

}

class Animal{
public Animal(){
System.out.println("Animal的构造方法");
}
public void bark(){
System.out.println("动物类 吼吼的方法");
}
}

class Dog extends Animal{

public Dog(){
System.out.println("Dog的构造方法");
}

public void bark(){
//调用父类的bark()方法
super.bark();
System.out.println("Dog 吼吼的方法");
}
}

class Cat extends Animal{
public Cat(){
System.out.println("Cat的构造方法");
}
public void bark(){
System.out.println("Cat 吼吼的方法");
}
}

class Serpent extends Animal{

public Serpent(){
System.out.println("Serpent的构造方法");
}

public final void bark(){
System.out.println("Serpent 吼吼的方法");
}
}

class Cobra extends Serpent{

/*
public  void bark(){
System.out.println("Cobra 吼吼的方法");
}
*/
}


第四题:

(1),Animal先被实例化,然后才到子类Dog

(2),super关键字是用来获取父类的成员变量以及成员方法的。(注意这里还和访问控制符 private,protected,public,默认有关)

(3),父类的final方法是不能被子类重写的。


把分给我吧 ^_^!

夜尽逝
2016-05-10
知道答主
回答量:31
采纳率:0%
帮助的人:7.9万
展开全部
public class MyDate {
private String year;
private String mouth;
private String day;
public MyDate(String year,String mouth,String day){
this.year=year;
this.mouth=mouth;
this.day=day;
}

@Override
public String toString() {
// TODO Auto-generated method stub
return year+"年"+mouth+"月"+day+"日";
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public String getMouth() {
return mouth;
}
public void setMouth(String mouth) {
this.mouth = mouth;
}
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}

}

public class MyTime {
private String hour;
private String minute;
private String second;
public MyTime(String hour,String minute,String second){
this.hour=hour;
this.minute=minute;
this.second=second;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return hour+"时"+minute+"分"+second+"秒";
}
public String getHour() {
return hour;
}
public void setHour(String hour) {
this.hour = hour;
}
public String getMinute() {
return minute;
}
public void setMinute(String minute) {
this.minute = minute;
}
public String getSecond() {
return second;
}
public void setSecond(String second) {
this.second = second;
}

}

public class FullTime {
private MyTime time;
private MyDate date;
public FullTime(MyTime time,MyDate date){
this.time = time;
this.date = date;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return date.toString()+time.toString();
}
public MyTime getTime() {
return time;
}
public void setTime(MyTime time) {
this.time = time;
}
public MyDate getDate() {
return date;
}
public void setDate(MyDate date) {
this.date = date;
}

}

public class TestFullTime {
public static void main(String[] args) {
MyDate date = new MyDate("2007","10","2");
MyTime time = new MyTime("14","17","35");
FullTime full = new FullTime(time,date);
System.out.println(full);
}
}

public class Animal {
public void bark(){

}
}

public class Cat extends Animal{
@Override
public void bark() {
// TODO Auto-generated method stub
super.bark();
}
}

public class Dog extends Animal{

@Override
public void bark() {
// TODO Auto-generated method stub
super.bark();
}
}

public class Serpent extends Animal {
@Override
final public void bark() {
// TODO Auto-generated method stub
super.bark();
}
}

public class Test {
public static void main(String[] args) {
Dog dog = new Dog();
dog.bark();
}
}

public class Cobra extends Serpent{
@Override
public void bark() {
// TODO Auto-generated method stub
super.bark();
}
}

其中 Cobra 类会报错,因为final修饰的不能重写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式