前面我已经说明了继承是什么大小,其实我最近都在学习类的关系,前面学的是包,现在学的是继承,他们的本质都是都是类的关系,为了提高代码的复用性(新学的词)。
下面是本人的实例演示
先说说需求
/*
编写
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的细节