Java作业练习_第五周子类与继承作业(小白学习记录,仅供参考,有错指出)

题目排序(点击直达)

    • 第一题
    • 第二题
    • 第三题
    • 第四题
    • 第五题
    • 第六题
    • 第七题
    • 第八题
    • 第九题
    • 第十题
    • 免责声明

第一题

1在Person类中定义的是 Teacher和Manager类的共性内容, 姓名 属性,年龄属性, String name ; int age;方法say();
2定义Person类的子类Teacher类。可以使用父类Person的姓名和年龄属性,说话的方法。
3定义Person类的子类Manager类,可以使用父类Person的姓名和年龄属性,说话的方法。
4定义测试类MyTest,在main方法中,实例化一个老师对象,张老师,25岁,老师说:我是张老师,我25岁。
实例化一个经理对象,李经理,26岁,李经理说:我是李经理,我26岁。

Manager.java文件

package cn.fjsay.java.demo1;public class Manager extends Person {//管理员/经理public void say(){System.out.println("经理说:我是"+name+",我"+age+"岁。");}
}

MyTest.java文件

package cn.fjsay.java.demo1;public class MyTest {public static void main(String[] args) {Teacher t=new Teacher();//实例化Teacher对象t.name="张老师";t.age=25;t.say();Manager m=new Manager();m.name="李经理";m.age=26;m.say();}
}

Person.java文件

package cn.fjsay.java.demo1;
public class Person {String name;int age;public void say(){System.out.println("my name is "+this.name+"my age is "+this.age);}
}

Teacher.java文件

package cn.fjsay.java.demo1;public class Teacher  extends Person{public void say(){System.out.println("老师说:我是"+name+"我。"+age+"岁。");}
}

运行结果:

老师说:我是张老师我。25岁。
经理说:我是李经理,我26岁。

第二题

高考生张三550.0达到了500分普通大学录取线,未达到600重点大学重点线。
1定义学生类Student,封装学生的数据,学生的姓名和高考总分。
2定义普通大学类university,方法体中定义录取的方法,学生的分数达到500分以上录取,否则不录取。
3定义重点大学类ImporttantUniversity,它是University类的子类,重写父类的录取方法,达到600分以上录取,否则不录取。
4定义测试类,在主方法中,实例化学生对象,张三,高考分数550分。达到普通大学录取线,未达到重点大学录取线。
ImporttantUniversity.java文件

package cn.fjsay.java.demo2;public class ImporttantUniversity extends University{void enterRule(Student student){double totalScore = student.getTotalScore();if (totalScore>=600){System.out.println(student.getName()+"考了"+ student.getTotalScore()+"被重点大学录取!");}else {System.out.println(student.getName()+"考了"+ student.getTotalScore()+"没有被重点大学录取!");}}
}

Student.java文件

package cn.fjsay.java.demo2;public class Student {private String name;private double totalScore;//高考总分public Student(){}public Student(String name, double totalScore) {this.name = name;this.totalScore = totalScore;}//构造函数public String getName(){return name;}public void setName(String name){this.name=name;}public double getTotalScore(){return totalScore;}public void setTotalScroe(double getTotalScore){this.totalScore=getTotalScore;}}

Test.java文件 (测试类)

package cn.fjsay.java.demo2;public class Test {public static void main(String[] args) {University u =new University();Student s=new Student("张三",550);u.enterRule(s);ImporttantUniversity u1=new ImporttantUniversity();u1.enterRule(s);}}

···
University.java文件

package cn.fjsay.java.demo2;public class University {void enterRule(Student student){//进入规则double t=student.getTotalScore();if(t>=500){System.out.println(student.getName()+"考了"+ student.getTotalScore()+"达到了500分,录取!");}else{System.out.println(student.getName()+"考了"+ student.getTotalScore()+"没有达到了500分,不录取!");} }}

运行结果:

张三考了550.0达到了500分,录取!
张三考了550.0没有被重点大学录取!

第三题

1编写一个父类Person类,定义私有的name属性,定义私有的age属性。
2 编写Person的子类为Student类, 子类使用带参数的构造器 Student(String name, int age )对域name、age初始化,把参数通过构造方法传给父类构造方法Person(String name, int age) 。
3编写测试类,在主方法中用有参构造实例化一个学生对象,输出学生的信息,张三,25岁。

Person.java文件

package cn.fjsay.java.demo3;public class Person {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}Person(String name, int age){this.name = name;this.age = age;}
}

Student.java文件

package cn.fjsay.java.demo3;public class Student extends Person{Student(String name,int age){super(name,age);}
}

Test.java文件 (测试类)

package cn.fjsay.java.demo3;public class Test {public static void main(String[] args) {Student s = new Student("张三",25);System.out.println("姓名:"+s.getName()+"年龄:"+s.getAge());}
}

运行结果:

姓名:张三年龄:25

第四题

在这里插入图片描述

package cn.fjsay.java.demo5;public class Fu {String s="父类";
}
package cn.fjsay.java.demo5;public class Zi extends Fu {String s ="子类";public void print(){String s="方法";System.out.println(s);System.out.println(this.s);System.out.println(super.s);}
}
package cn.fjsay.java.demo5;public class ExtendTest {public static void main(String[] args) {Zi z =new Zi();System.out.println(z.s);}
}

第五题

在这里插入图片描述

第六题

在这里插入图片描述
在这里插入图片描述

package cn.fjsay.java.demo5;public class Fu {String s="父类";
}
package cn.fjsay.java.demo5;public class Zi extends Fu {String s ="子类";public void print(){String s="方法";System.out.println(s);System.out.println(this.s);System.out.println(super.s);}
}
package cn.fjsay.java.demo5;public class ExtendTest {public static void main(String[] args) {Zi z =new Zi();z.print();}
}

第七题

补全代码

public class Person {private String name;private int age;public Person(String name,int age){this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}
public class Student extends Person{public Student(String name,int age){【代码1}
}
public class Worker extends Person{public Worker(String name,int age){【代码2}
}
public class Test {public static void main(String[] args) {//创建工人对象, Worker,指定姓名年龄Worker w = new【代码3("光头强", 30);System.out.println(w.getName());System.out.println(w.getAge());//创建学生对象, Student,指定姓名年龄Student s = new 【代码4("肥波", 5);System.out.println(s.getName());System.out.println(s.getAge());}}

在这里插入图片描述

第八题

在包中编写一个类A。你的类应具备一个protected方法。在包外部,试着调用该protected方法并解释此结果。然后,编写一个新类B继承你的类A,并从类B的一个方法内部调用该protected方法。 编写测试类,测试B类中的方法复用了父类的受保护的方法。

A.java文件

package cn.fjsay.java.demo6;public class A {protected void protectedMethod() {System.out.println("666");}
}

B.java文件

package cn.fjsay.java.demo6;public class B extends A {public void callProtectedMethod() {protectedMethod();}
}

Test.java文件(测试类)

package cn.fjsay.java.demo6;public class Test {public static void main(String[] args) {B b = new B();b.callProtectedMethod();}
}

运行结果:

666

第九题

在这里插入图片描述

package cn.fjsay.java.demo7;
public class Game {Game(int i){System.out.println("Game"+i);}
}package cn.fjsay.java.demo7;
public class BoardGame extends Game{BoardGame(int i){super(i);System.out.println("BoardGame"+i);}
}package cn.fjsay.java.demo7;
public class Chess extends BoardGame{Chess(){super(11);System.out.println("Chess");}package cn.fjsay.java.demo7;
public class Test {public static void main(String[] args) {Chess x=new Chess();}
}
}

运行结果

Game11
BoardGame11
Chess

第十题

1定义Shape 父类及子类Circle,Square,Triangle,在子类中分别重写父类的draw()方法,可以绘制出圆形,方形、三角形, 2在测试类的main方法中,调用 execute()方法,分别绘制出不同的形状。

public class ShapeTest{
public static void execute(Shape[] shapes){for (int i = 0; i < shapes.length; i++) {shapes[i].draw();}}
public static void main(String[] args){
}
}

Shape.java文件

package cn.fjsay.java.demo4;
public abstract class Shape {abstract void draw();
}

Circle.java文件

package cn.fjsay.java.demo4;public class Circle extends Shape{@Overridepublic void draw(){System.out.println("绘制圆形");}
}

ShapeTest.java文件(测试类)

package cn.fjsay.java.demo4;public class ShapeTest {public static void execute(Shape[] shapes){for (int i=0;i<shapes.length;i++){shapes[i].draw();}}public static void main(String[] args) {Shape[] shapes = new Shape[3];shapes[0] = new Circle();shapes[1] = new Square();shapes[2] = new Triangle();execute(shapes);}
}

Square.java文件

package cn.fjsay.java.demo4;public class Square extends Shape{@Overridepublic void draw() {System.out.println("绘制方形");}
}

Triangle.java文件

package cn.fjsay.java.demo4;public class Triangle extends Shape{@Overridepublic void draw() {System.out.println("绘制三角形");}
}

运行结果:

绘制圆形
绘制方形
绘制三角形

免责声明

本文章所有的图片以及代码等仅作为学习使用,不作为商业目的,如有侵权请联系我删除!
所提供的代码仅供参考,有很多不足请自行补充!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/587142.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++bitset类型

bitset类型 我们介绍了将整型运算对象当作二进制位集合处理的一些内置运算符。 标准库还定义了bitset类&#xff0c;使得位运算的使用更为容易&#xff0c;并且能够处理超过最长整型类型大小的位集合。bitset类定义在头文件bitset中。 定义和初始化bitset bitset类是一个类模…

网心云邀请码:KpyV3Dk7

网心云长期有效邀请码&#xff1a;KpyV3Dk7 新用户注册福利码&#xff1a;KpyV3Dk7 通过福利码注册并登录您可获得&#xff1a;①可得1元收益②1张14天50%加成卡③绑定设备可得1~5元不等 新手解答&#xff1a; 1. 有哪些设备可以安装&#xff1f;闲置电脑、闲置手机、闲置平…

Python 之 Flask 框架学习

毕业那会使用过这个轻量级的框架&#xff0c;最近再来回看一下&#xff0c;依赖相关的就不多说了&#xff0c;直接从例子开始。下面示例中的 html 模板&#xff0c;千万记得要放到 templates 目录下。 Flask基础示例 hello world from flask import Flask, jsonify, url_fora…

ISELED-演示项目代码

目录 一、main函数二、点灯函数一、main函数 int main(void) {/* Write your local variable definition here */iseledInitType.crcEnable = 1;iseledInitType.firstLedAdr = 1;iseledInitType.tempCmpEnable = 0;iseledInitType.voltSwing = 0;/*** End of Processor Expert…

JRT业务开发起步

这是一段充满挑战与奋斗的旅程&#xff0c;自第一行Java代码的写下起&#xff0c;便历经重重险阻。从细微的代码行&#xff0c;逐步汇聚成实用的工具类方法&#xff1b;从工具类方法的积累&#xff0c;逐渐构建起功能强大的工具包&#xff1b;再从工具包的整合&#xff0c;最终…

SpringBoot+ECharts+Html 地图案例详解

1. 技术点 SpringBoot、MyBatis、thymeleaf、MySQL、ECharts 等 此案例使用的地图是在ECharts社区中查找的&#xff1a;makeapie echarts社区图表可视化案例 2. 准备条件 在mysql中创建数据库echartsdb&#xff0c;数据库中创建表t_location_count表&#xff0c;表中设置两个…

InternLM

任务一 运行1.8B模型&#xff0c;并对话 User >>> 请创作一个 300 字的小故事 在一片茂密的森林里&#xff0c;住着一只小松鼠&#xff0c;它的名字叫做小雪。小雪非常活泼好动&#xff0c;经常在树上跳跃玩耍。有一天&#xff0c;小雪发现了一个神秘的洞穴&#xf…

大数据学习-2024/3/30-MySQL5.6版本的安装

1、下载好文件后打开bin目录&#xff1a; 2、在这个位置进入输入cmd进入命令行界面&#xff0c;进入命令行界面后输入如下&#xff1a;mysqld install 进行数据库安装&#xff1a; 注意&#xff1a;显示Service successfully installed表示安装成功 3、安装好后启动服务&…

人工智能|深度学习——基于Xception算法模型实现一个图像分类识别系统

一、Xception简介 在计算机视觉领域&#xff0c;图像识别是一个非常重要的任务&#xff0c;其应用涵盖了人脸识别、物体检测、场景理解等众多领域。随着深度学习技术的发展&#xff0c;深度卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;简称CNN&#xff…

java字符串(一)-- 字符串API,StringBuffer 和 StringBuilder,Object

String字符串相关的类 String的特性 String类&#xff1a;代表字符串。Java 程序中的所有字符串字面值&#xff08;如"abc" &#xff09;都作为此类的实例实现。String类是引用数据类型。 在 Java 8 中&#xff0c;String 内部使用 char 数组存储数据。 public fi…

mysql锁表问题

问题描述 偶尔应用日志会打印锁表超时回滚 org.springframework.dao.CannotAcquireLockException: ### Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transactionmysql锁…

128Days

今天是我踏上创作之路的第128天&#xff0c;回首过去的这些日子&#xff0c;心中充满了感慨和喜悦。我想&#xff0c;每一个热爱创作的人&#xff0c;都会珍惜自己走过的每一天&#xff0c;因为每一天都充满了新的灵感和挑战。 从最初的懵懂无知&#xff0c;到现在对创作的热情…