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

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


### 第四题


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f465ba108a1342efaa1a6b68753db2c9.png)



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);
}
}


### 第五题


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/017dd4cd733a4f83abda8439c803ee36.png)


### 第六题


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1912faf6430b4c379e2080e52e88baf3.png)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/48b67e639c8f464883928e3a32ad8fd1.png)



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());
}

}


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/025779438cb54ce7a268fdd8536c3460.png)


### 第八题


在包中编写一个类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


### 第九题


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9be93ba4d94642129f13e0f20143fe09.png)



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{
@Override
public 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);

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

.(img-yQTbJo5F-1713593430763)]

[外链图片转存中…(img-XylVaSNH-1713593430763)]

[外链图片转存中…(img-FsgWp4vW-1713593430764)]

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

  • 19
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值