java作业_JAVA作业

1.简述重载(Overload)与重写(Override)的区别。

答:在范围上讲重写必须存在继承关系(子类),而重载则必须是在一个类中。重写在方法上的要求必须与父类的方法名一致,参数列表一致,返回值类型兼容,重载则要求方法名一致,参数列表不同,返回值类型无要求。重写对权限要求不能比父类的访问权限更加严格,而重载对访问权限没要求。

2.完成刺客刺杀总统的场景,要求:刺杀成功后,将刺客的名字和总统的名字

都显示出来。

package work3time1;

//刺客类

public class Assassin {

String name;    //属性public Assassin(){  //无参构造}public Assassin(String name){   //带参构造    this.name = name;}public void assassinate(President president){   //刺杀方法    System.out.println(president.name+"总统被"+name+"刺杀");}

}

package work3time1;

//总统类

public class President {

String name;    //属性public President() {    //无参构造}public President(String name){  //带参构造    this.name = name;}

}

package work3time1;

public class Test {/** * 测试刺杀结果 */public static void main(String[] args) {    Assassin assassin = new Assassin("布斯"); //创建刺客对象    President president = new President("林肯");  //创建总统对象    assassin.assassinate(president);    //调用刺杀方法}

}

3.建立一个长方形的类 包括属性,长、宽

1) 在构造方法中,给长方形的属性初始化。

2) 写两个方法,分别求出长方形的周长和面积。

3) 写一个方法,以长方形的对象为参数,求出两个长方形的周长差。

package work3time2;

//矩形类

public class Rectangle {

int length; //属性长

int wide;   //属性宽public Rectangle() {    //无参构造}public Rectangle(int length, int wide) {    //带参构造    this.length = length;    this.wide = wide;}public int perimeter(){ //求周长方法    int per = 2 * (length + wide);    System.out.println("长为:"+length+"宽为:"+wide+"的矩形的周长为:"+per);    return per;}public int area(){  //求面积方法    int are = length * wide;    System.out.println("长为:"+length+"宽为:"+wide+"的矩形的周长为:"+are);    return are;}public void differencevalue(Rectangle a,Rectangle b){   //求周长差方法    int differencevalue = a.perimeter() - b.perimeter();    System.out.println("长为:"+a.length+"宽为:"+b.wide+"的矩形和长为:"+b.length+"宽为:"+b.wide+"的矩形的周长差为:"+differencevalue);}

}

package work3time2;

public class Test {/** * @param args */public static void main(String[] args) {    Rectangle rectangle1 = new Rectangle(); //创建对象    Rectangle rectangle2 = new Rectangle();    Rectangle rectangle3 = new Rectangle();    rectangle1.length=5;    //给对象的属性赋值    rectangle1.wide=3;;    rectangle1.perimeter(); //用对象调用类中的周长方法    rectangle1.area();      //用对象调用类中的面积方法    rectangle2.length=4;    rectangle2.wide=2;    rectangle3.differencevalue(rectangle1, rectangle2); 用对象调用类中的两个对象周长求差的方法}

}创建拥有继承结构的两个类,两个类拥有相同定义的show()方法,但是方法体中

的内容不同,分别创建一个父类对象和子类对象,分别调用show()方法,观察结果。

package work3time3;

public class Father {public void show(){    System.out.println("喵,喵,喵...");}

}

package work3time3;

public class Son extends Father{public void show(){    System.out.println("汪,汪,汪...");}

}

package work3time3;

public class Test {/** * @param args */public static void main(String[] args) {    Father fa = new Father();    Son so = new Son();    so.show();    fa.show();}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值