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