Java必学类之继承

前面我已经说明了继承是什么大小,其实我最近都在学习类的关系,前面学的是包,现在学的是继承,他们的本质都是都是类的关系,为了提高代码的复用性(新学的词)。

下面是本人的实例演示

先说说需求

/*
编写 Computer 类,包含 CPU 、内存、硬盘等属性, getDetails 方法用于返回 Computer 的详细信息
编写 PC 子类,继承 Computer 类,添加特有属性【品牌 brand
编写 NotePad 子类,继承 Computer 类,添加特有属性【 color // 同学们自己写。
编写 Test 类,在 main 方法中创建 PC NotePad 对象,分别给对象中特有的属性赋值,
以及从 Computer 类继承的属性赋值,并使用方法并打印输出信息
*/
package com.Extends;

public class Computer
{//父类有cpu 硬盘 内存
    public String cpu ;
    public String neicun;
    public String yp;
    public Computer()
    {
        ;
    }

    public String getCpu() {
        return cpu;
    }

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

    public String getNeicun() {
        return neicun;
    }

    public void setNeicun(String neicun) {
        this.neicun = neicun;
    }

不要在意拼音,

然后再创建PC类

package com.Extends;

public class PC extends Computer {
    String brand;
    public PC()
    {
        ;
    }

    public String getBrand(String brand) {
        this.brand = brand;
        return brand;
    }
    public void setcpu(String cpu)
    {
        this.cpu  = cpu;
    }
    public void setneicun(String neicun)
    {
        this.neicun  = neicun;
    }
    public void setYp(String Yp)
    {
        this.yp  = yp;
    }
    public void showinfo()
    {
        System.out.println("CPU为"+cpu+"内存大小"+neicun+"硬盘为"+yp+"品牌"+brand);
    }
}

注意这里用了继承 extends 有时你要特别小心你的构造器(等下再说)

接下就是调用了,自己去看方法调用。

这里首先,我是本来要把computer中的属性设为私有的,但是捏,答主拉了跨,想再着创建的PC他怎么去给setcomputer里的变量,简直百思不得其解,所以就把他的修饰符变成了公有,想着这些再父类里的属性给再子类的pc用,结果就难受还nt。根本没去考虑中间的细节。

好在看完答案

我首先把属性全改为私有变量,改完后我将构造器使用起来,之前想的烦恼就是没用构造器,既然你已经把他继承了,那你再pc带computer的方法和属性,那有的小伙子就会问,你不是私有变量,怎么调,你给我去洗呢。其实这跟继承的本质有关,下篇文章在讲,总之构造器就是能去一起初始化就行了

 public Computer(String cpu, String neicun, String yp) {
        this.cpu = cpu;
        this.neicun = neicun;
        this.yp = yp;
    }

    public PC(String cpu, String neicun, String yp, String brand) {
        super(cpu, neicun, yp);
        this.brand = brand;
    }

这里还有Java关键字super,因为我还在学所以就不多说

就这样,我说完了我的铸币编程,希望你可以学点什么,明天分享Java继承细节与super的细节


版权声明:本文为weixin_60424694原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。