7.31Java入门第十节--->数组(继承)

1、命令行参数

JVM要调用类的MAIN方法,所以该方法的访问权限必须是public

调用main方法不需要new对象,所以main方法必须是static修饰

cmd

java  first

public static void main(String[] args) {
    
}

可在调用main方法时,传入对应的值

2、可变命令行参数

public static void str(String...s){
        for (String s1 : s) {
            System.out.println(s1);
        }

1.可传0-多个对应类型的值

2.使用时完全可以当作数组去使用

3.可变参数不可以重载

public static void str(int i,String...s){
        for (String s1 : s) {
            System.out.println(s1);
        }

方法只可以有一个可变参数,包含可变参数,只能在参数列表最后一个

 3、继承(extends)提取冗余代码,提高代码利用性

1.继承只能继承一个(单继承)

2.子类可以继承父类的所有属性和方法(构造方法不继承)

3.private修饰的属性和方法,父类可以调用,子类需要调用get,set方法

4.子类可以使用父类的属性和方法,也可以自己创建

5.子类父类重名,调用该属性,调用子类属性(如需调用父类同名属性,需用super)尽量避免

6.super 代表的是父类对象,super可以调用父类的属性和方法,super可以调用父类的构造方法,super写在第一句,不可以和this写在一起

练习

 

1.编写Computer 类,包含CPU,内存,硬盘等属性,getDetails方法用于返回Computer的属性详细信息
2.编写PC子类,继承Computer,添加特有的属性和方法
3.编写NotePad子类继承Computer,添加特有的属性和方法,
4.编写测试类Test,在main方法中创建PC和NotePad对象,分别访问对象中的特有属性和方法以及父类的属性
和方法,并打印
public class Computer {
    private String cpu;
    String Mem;
    String SATA;

    public  String getDetails() {
        return "Computer{" +
                "cpu='" + cpu + '\'' +
                ", Mem='" + Mem + '\'' +
                ", SATA='" + SATA + '\'' +
                '}';
    }
//
//    public void getDetails(){
//        System.out.println("cpu:"+cpu+"内存:"+Mem+"硬盘:"+SATA);
//    }
    public String getCpu() {
        return cpu;
    }
    public void setCpu(String cpu) {
        this.cpu = cpu;
    }
    public String getMem() {
        return Mem;
    }
    public void setMem(String mem) {
        Mem = mem;
    }
    public String getSATA() {
        return SATA;
    }
    public void setSATA(String SATA) {
        this.SATA = SATA;
    }
    public Computer() {
    }
    public Computer(String cpu, String mem, String SATA) {
        this.cpu = cpu;
        Mem = mem;
        this.SATA = SATA;
    }
}
public class PC extends Computer {
    private int pencile;

    public int getPencile() {
        return pencile;
    }

    public void setPencile(int pencile) {
        this.pencile = pencile;
    }

    public void PCMain(){
        System.out.println("PC价格:"+pencile);
    }
    public PC() {

    }
    public PC(String cpu, String mem, String SATA, int pencile) {
        super(cpu, mem, SATA);
        this.pencile = pencile;
    }

    public PC(int pencile) {
        this.pencile = pencile;
    }
}
public class NotePad extends Computer {
    String Copy;
    public void notePadMain(){
        System.out.println("NotePad品牌:"+Copy);
    }
    public NotePad() {
    }
    public NotePad(String cpu, String mem, String SATA, String copy) {
        super(cpu, mem, SATA);
        Copy = copy;
    }
    public NotePad(String copy) {
        Copy = copy;
    }
}
public class Test {
    public static void main(String[] args) {
        PC pc=new PC();
        pc.setPencile(2000);
        pc.setCpu("3600");
        pc.Mem="宇瞻黑豹3000 8G*2";
        pc.SATA="pcie3.0*4";
        pc.PCMain();
        System.out.println(pc.getDetails());


        NotePad notePad=new NotePad();
        notePad.Copy="msi";
        notePad.setCpu("i7-8750H");
        notePad.Mem="海力士2666 8G*2";
        notePad.SATA="东芝 TR200";
        notePad.notePadMain();
        System.out.println(notePad.getDetails());
    }
}

 

 



posted @ 2020-07-31 16:40  Spring_Xian  阅读(280)  评论(0)    收藏  举报