Java学习笔记:继承练习

1、题目

 题目非常简单,里面主要是记录我遇到的一个问题

2、源代码

Computer类

package com.train;
//自动补全alt+/   快捷注释ctrl+/  删除行ctrl+d  复制行ctrl+alt+向下键
//导入需要的类alt+enter 快速格式化代码ctrl+alt+l  快速运行alt+r
//生成构造器alt+insert  查看类的层次关系ctrl+h  快速定位方法ctrl+b
//自动分配变量名 后面加.var
//模板快捷键 soutm main
public class Computer {
    private String cpu;
    private int memory;
    private int disk;

    public Computer(String cpu, int memory, int disk) {
        this.cpu = cpu;
        this.memory = memory;
        this.disk = disk;
    }

    public String getCpu() {
        return cpu;
    }

    public void setCpu(String cpu) {
        this.cpu = cpu;
    }

    public int getMemory() {
        return memory;
    }

    public void setMemory(int memory) {
        this.memory = memory;
    }

    public int getDisk() {
        return disk;
    }

    public void setDisk(int disk) {
        this.disk = disk;
    }

    public String getDetails(){
        return "电脑的cpu是"+cpu+"内存"+memory+"硬盘是"+disk;
    }
}

 PC类

package com.train;

public class PC extends Computer{
    private String brand;

    public PC(String cpu, int memory, int disk, String brand) {
        super(cpu, memory, disk);
        this.brand = brand;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public void printInfo(){
        System.out.println(getDetails()+" brand"+brand);
    }
}

 NotePad类

package com.train;

public class NotePad extends Computer{
    private String color;

    public NotePad(String cpu, int memory, int disk, String color) {
        super(cpu, memory, disk);
        this.color = color;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public void printInfo(){
        System.out.println(getDetails()+" color"+color);
    }
}

 Test类

package com.train;

public class Test {
    public static void main(String[] args) {
        PC pc = new PC("i5",8,50,"华硕");
        NotePad notePad = new NotePad("i5",8,50,"黑色");
        pc.printInfo();
        notePad.printInfo();
    }
}

 踩的坑:

在Computer类中,最后getDetails()方法我一开始用的void返回类型,方法体用的

System.out.println实现,但在继承了Computer类的PC类中在printInfo()方法中返回类型为void,且方法体中是System.out.println(getDetails()+" brand"+brand);会报错。

 解决方法:

Computer类getDetails()方法用String返回类型,方法体中用return

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值