homework3

来源:互联网 发布:2016淘宝主图尺寸大小 编辑:程序博客网 时间:2024/06/14 03:27

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

 重载(Overload):在同一个类中,方法名相同,参数列表不同(参数个数不同,参数类型不同,参数顺序不同),与返回值类型无关
 重写(Override):在父类与子类之间,方法名相同,输入参数和返回值的类型(或子类型)完全相同,子类的权限应当比父类更严格


2.完成刺客刺杀总统的场景,要求:刺杀成功后,将刺客的名字和总统的名字都显示出来
//测试类package org.westos.homework3;public class AssassinationTest {public static void main(String[] args) {// TODO Auto-generated method stubPresident president=new President("林肯",56,"男");Killer killer=new Killer();killer.setName("约翰·韦克斯");killer.setAge(32);killer.setSex("男");Assassination.assassination(president, killer);}}
//总统类package org.westos.homework3;public class President {private String name;private int age;private String sex;public President() {}public President(String name, int age, String sex) {this.name = name;this.age = age;this.sex = sex;}public void setName(String name) {this.name = name;}public String getName() {return name;}public int getAge() {return age;}public void setAge(int age) {if(age<0 || age>=120){System.out.println("年龄无效");}else{this.age = age;}}public String getSex() {return sex;}public void setSex(String sex) {if(sex.equals("男") || sex.equals("女")){this.sex = sex;}else {System.out.println("无效性别");}}}
//杀手类package org.westos.homework3;public class Killer {private String name;private int age;private String sex;public Killer() {}public Killer(String name, int age, String sex) {this.name = name;this.age = age;this.sex = sex;}public void setName(String name) {this.name = name;}public String getName() {return name;}public int getAge() {return age;}public void setAge(int age) {if (age < 0 || age >= 120) {System.out.println("年龄无效");} else {this.age = age;}}public String getSex() {return sex;}public void setSex(String sex) {if (sex.equals("男") || sex.equals("女")) {this.sex = sex;} else {System.out.println("无效性别");}}}
//刺杀类package org.westos.homework3;public class Assassination {public static void assassination(President president,Killer killer){System.out.println(president.getName()+"被"+killer.getName()+"刺杀了");}}

3.建立一个长方形的类 包括属性,长、宽 
1) 在构造方法中,给长方形的属性初始化。
 2) 写两个方法,分别求出长方形的周长和面积。
 3) 写一个方法,以长方形的对象为参数,求出两个长方形的周长差。
//测试类package org.westos.komework3_2;public class RectangleTest {public static void main(String[] args) {// TODO Auto-generated method stubRectangle rectangle=new Rectangle(5,3);Rectangle rectangle2=new Rectangle(6,4);System.out.println("长度为"+rectangle.getLength()+",宽度为"+rectangle.getWidth()+"的矩形的面积为:"+rectangle.rectangleArea());System.out.println("长度为"+rectangle.getLength()+",宽度为"+rectangle.getWidth()+"的矩形的周长为:"+rectangle.rectanglePerimeter());System.out.println("长度为"+rectangle.getLength()+",宽度为"+rectangle.getWidth()+"与长度为"+rectangle2.getLength()+",宽度为"+rectangle2.getWidth()+"的矩形周长之差为:"+rectangle2.recangleSubtract(rectangle, rectangle2));}}
//矩形类package org.westos.komework3_2;public class Rectangle {private double length;private double width;public Rectangle(){}public Rectangle(double length, double width) {this.length = length;this.width = width;}//获取矩形的长public double getLength(){return length;}//获取矩形的宽public double getWidth(){return width;}//求矩形面积public double rectangleArea(){if(length<0 || width<0){return 0;}return length*width;}//求矩形周长public double  rectanglePerimeter() {if(length<0 || width<0){return 0;}return (length+width)*2;}//求两个矩形周长之差public double recangleSubtract(Rectangle rectangle,Rectangle rectangle2){return Math.abs(rectangle.rectanglePerimeter()-rectangle2.rectanglePerimeter());}}
4. 创建拥有继承结构的两个类,两个类拥有相同定义的show()方法,但是方法体中 的内容不同,分别创建一个父类对象和子类对象,分别调用show()方法,观察结果。
//测试类package org.westos.homework3_3;public class Test {public static void main(String[] args) {// TODO Auto-generated method stubPerson person = new Person();Student student = new Student();person.show();student.show();}}
//Person类package org.westos.homework3_3;public class Person {private String name;private int age;private String sex;public Person() {super();}public Person(String name, int age, String sex) {super();this.name = name;this.age = age;this.sex = sex;}public void show(){System.out.println("我是父类");}}
//Student类package org.westos.homework3_3;public class Student extends Person {private String num; //学号public Student() {super();}public Student(String num) {super();this.num = num;}public void show(){System.out.println("我是子类");}}
原创粉丝点击