week3作业
来源:互联网 发布:怎么查网络是否丢包 编辑:程序博客网 时间:2024/06/06 04:53
1.简述重载(Overload)与重写(Override)的区别。
方法重载:同一个类中,方法名相同,参数列表不同(参数类型不同、参数个数不同、参数顺序不同)
eg:
package overloading;
public class Person {
String name;
int age;
String sex;
public Person(){
}
public Person(String n,int a){
name=n;
age=a;
}
public Person(String n,int a,String s){
name=n;
age=a;
sex=s;
}
}
public class Person {
String name;
int age;
String sex;
public Person(){
}
public Person(String n,int a){
name=n;
age=a;
}
public Person(String n,int a,String s){
name=n;
age=a;
sex=s;
}
}
方法重写:重写的注意事项(三要素):
1. 只能存在于子类和父类之间
2. 子类的方法名称、输入参数和返回值类型完全一致或子类方法返回值类型是父类方法返回值类型的子类。
3. 权限不能比父类方法更加严格。
注意:重写的前提是先继承了父类的方法。
1. 只能存在于子类和父类之间
2. 子类的方法名称、输入参数和返回值类型完全一致或子类方法返回值类型是父类方法返回值类型的子类。
3. 权限不能比父类方法更加严格。
注意:重写的前提是先继承了父类的方法。
eg:
//父类
package override;
public class Person {
public Object getInfo(){
System.out.println("Person父类的getInfo()方法");
return "我是父类中的方法";
}
public void makeMoney(){
System.out.println("开工厂赚钱....");
}
}
子类
package override;
public class Student extends Person{
@Override
public String getInfo(){
System.out.println("子类方法");
return "学生的getInfo()方法";
}
@Override
public void makeMoney(){
System.out.println("开互联网公司赚钱....");
}
}
//测试
package override;
public class TestOverride {
public static void main(String[] args) {
Student stu=new Student();
System.out.println(stu.getInfo());
}
}
2.完成刺客刺杀总统的场景,要求:刺杀成功后,将刺客的名字和总统的名字
都显示出来。
//总统类package President;
public class President {
static String name;
public President(){
}
public President(String name){
this.name=name;
}
}
public class President {
static String name;
public President(){
}
public President(String name){
this.name=name;
}
}
//刺客类
package President;
public class Assassin {
String name;
String sex;
int age;
public Assassin(){
}
public Assassin(String name,String sex,int age){
this.name=name;
this.sex=sex;
this.age=30;
}
public void AssassinationPresident(){
System.out.println("一名"+age+"岁的"+sex+"性刺客,名叫"+name+",刺杀了"+President.name+"的总统");
}
}
public class Assassin {
String name;
String sex;
int age;
public Assassin(){
}
public Assassin(String name,String sex,int age){
this.name=name;
this.sex=sex;
this.age=30;
}
public void AssassinationPresident(){
System.out.println("一名"+age+"岁的"+sex+"性刺客,名叫"+name+",刺杀了"+President.name+"的总统");
}
}
//测试类
package President;
public class Test {
public static void main(String[] args) {
Assassin ass=new Assassin("特工","男",30);
President pre=new President();
pre.name="XXX";
ass.AssassinationPresident(); //利用new关键词创建对象及调用方法
}
}
public class Test {
public static void main(String[] args) {
Assassin ass=new Assassin("特工","男",30);
President pre=new President();
pre.name="XXX";
ass.AssassinationPresident(); //利用new关键词创建对象及调用方法
}
}
3.建立一个长方形的类 包括属性,长、宽
1) 在构造方法中,给长方形的属性初始化。
2) 写两个方法,分别求出长方形的周长和面积。
3) 写一个方法,以长方形的对象为参数,求出两个长方形的周长差。
package rectangle;public class RectangleDemo {
double len; // 矩形的长 初始化对象属性
double width; // 矩形的宽
public RectangleDemo(){ //构造方法
}
public RectangleDemo(double l,double w){
len=l;
width=w;
}
public double calculatePerimeter(){ //计算长方形周长
double per=(this.len+this.width)*2;
System.out.println("长方形周长为:"+per);
return per;
}
public double calculateArea(){ //计算长方形面积
double are=this.len*this.width;
System.out.println("长方形面积为:"+are);
return are;
}
public static void main (String[] args){ //主方法出口
RectangleDemo r1=new RectangleDemo(3.0,4.0);
RectangleDemo r2=new RectangleDemo(5.2,7.0);
r1.calculatePerimeter();
r2.calculatePerimeter();
double errandrectangle=r1.calculatePerimeter()-r2.calculatePerimeter(); //计算周长差
if(errandrectangle>0){ //判断周长差正负
double errandrectangleresult1=errandrectangle;
System.out.println("re1与re2两个长方形的周长差为:"+errandrectangleresult1);
}else{
double errandrectangleresult2=-errandrectangle;
System.out.println("re1与re2两个长方形的周长差为:"+errandrectangleresult2);
}
}
}
}
4. 创建拥有继承结构的两个类,两个类拥有相同定义的show()方法,但是方法体中
的内容不同,分别创建一个父类对象和子类对象,分别调用show()方法,观察结果。
//父类
package extendsdemo;public class Text {
public static void main(String[] args) {
Father per=new Father(12); //创建一个父类对象
son1 x=new son1(11); //创建子类对象
son2 j=new son2();
per.show(); //父类对象调用show()方法
x.show(); //子类对象调用show()方法
j.show();
}
}
//子类1
package extendsdemo;
public class son1 extends Father {
int b;
public son1(){
super(24);
System.out.println("子类1无参构造");
}
public son1(int b){
this.b=b;
System.out.println("子类2带参构造"+b);
}
public void show(){
System.out.println("只要步履不停,终会得偿所愿!");
}
}
public class son1 extends Father {
int b;
public son1(){
super(24);
System.out.println("子类1无参构造");
}
public son1(int b){
this.b=b;
System.out.println("子类2带参构造"+b);
}
public void show(){
System.out.println("只要步履不停,终会得偿所愿!");
}
}
//子类2
package extendsdemo;
public class son2 extends Father{
int c;
public son2(){
super();
System.out.println("子类2无参构造!");
}
public son2(int c){
this.c=c;
System.out.println("子类2带参构造:"+c);
}
public void show(){
System.out.println("显示....");
}
}
public class son2 extends Father{
int c;
public son2(){
super();
System.out.println("子类2无参构造!");
}
public son2(int c){
this.c=c;
System.out.println("子类2带参构造:"+c);
}
public void show(){
System.out.println("显示....");
}
}
//测试类
package extendsdemo;
public class Text {
public static void main(String[] args) {
Father per=new Father(12); //创建一个父类对象
son1 x=new son1(11); //创建子类对象
son2 j=new son2();
per.show(); //父类对象调用show()方法
x.show(); //子类对象调用show()方法
j.show();
}
}
public class Text {
public static void main(String[] args) {
Father per=new Father(12); //创建一个父类对象
son1 x=new son1(11); //创建子类对象
son2 j=new son2();
per.show(); //父类对象调用show()方法
x.show(); //子类对象调用show()方法
j.show();
}
}
阅读全文
0 0
- Week3 作业
- WEEK3作业
- week3作业
- c++ 程序设计 week3 作业
- 【算法设计作业】week3
- Logistic Regression WEEK3编程作业
- 作业Week3 "Stopwatch: The Game"
- Stanford 机器学习 Week3 作业 Logistic Regression
- 计算机科学和编程导论-week3-作业
- [机器学习]week3编程作业:Logistic Regression
- MOOC面向对象编程week3作业
- Coursera Machine Learning 作业代码 week3
- Week3
- week3
- week3
- week3
- week3
- Coursera机器学习 week3 逻辑回归 编程作业代码
- 多层文字滚动
- LeetCode(6) ZigZag Conversion解题报告
- 12.13课堂笔记、课后作业、学习心得
- Chrome开发者工具不完全指南:(三、性能篇)
- 基础工具类--时间日期处理
- week3作业
- [Android][设置最小(大)宽高]
- 监听日志过大处理指南
- Spark Streaming的恢复机制——Checkpoint
- 手工开发实现nginx负载均衡监控RS健康状态
- 递归
- Js-提高效率(常见代码复用)
- ShaderWeaver使用教程-图片移动
- log4j生成log文件路径的设置