博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA第三次作业
阅读量:6161 次
发布时间:2019-06-21

本文共 2747 字,大约阅读时间需要 9 分钟。

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); 用对象调用类中的两个对象周长求差的方法}

}

  1. 创建拥有继承结构的两个类,两个类拥有相同定义的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();}

}

转载于:https://blog.51cto.com/13507330/2049556

你可能感兴趣的文章
pip安装Mysql-python报错EnvironmentError: mysql_config not found
查看>>
http协议组成(请求状态码)
查看>>
怎样成为一个高手观后感
查看>>
[转]VC预处理指令与宏定义的妙用
查看>>
MySql操作
查看>>
python 解析 XML文件
查看>>
MySQL 文件导入出错
查看>>
java相关
查看>>
由一个异常开始思考springmvc参数解析
查看>>
向上扩展型SSD 将可满足向外扩展需求
查看>>
虚机不能启动的特例思考
查看>>
SQL Server编程系列(1):SMO介绍
查看>>
在VMware网络测试“专用VLAN”功能
查看>>
使用Formik轻松开发更高质量的React表单(三)<Formik />解析
查看>>
也问腾讯:你把用户放在什么位置?
查看>>
CSS Sprites 样式生成工具(bg2css)
查看>>
[转]如何重构代码--重构计划
查看>>
类中如何对list泛型做访问器??
查看>>
C++解析XML--使用CMarkup类解析XML
查看>>
P2P应用层组播
查看>>