java 抽象类和接口

1,方法由abstract修饰的 为抽象方法,包含抽象方法的类叫做抽象类  抽象方法不能够被private static 所修饰 继承了抽象类的子类,要覆盖抽象方法不然子类会变成抽象类。

2,final 变量前面有final修饰 就不可再改变 修饰的方法也不能被子类重写 类前有final则该类不能被继承;

3,接口 接口中所有的方法都是抽象的,所有变量都是static的和final的 接口就像是一个框架,可以让你知道接下来要干什么,也实现了代码复用。接口中用实现来表达继承含义,实现接口必须覆盖所有抽象方法,一次可以实现多个接口 用逗号隔离开来 接口中的方法不能用private protected来修饰 接口可以直接继承接口

接口

public interface USB {
    public static final String uSBType = "3.0";
    void start();
    void working( String info);
    void ending();

}

实现接口

public class netcard implements USB {

    private String brand;
    private String type;
    private double price;
    
    public String getBrand() {
        return brand;
    }

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

    public String getTypeString() {
        return type;
    }

    public void setTypeString(String typeString) {
        this.type = typeString;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    
    @Override
    public void working(String info) {
        // TODO Auto-generated method stub
        System.out.println("传输数据"+info);
    }

    @Override
    public void start() {
        // TODO Auto-generated method stub
        System.out.println("--------------------");
        if(this.uSBType.equals(3.0)) {
            this.type="1000M";
        }else {
            this.type="100M";
        }
        System.out.println(this.type+"开始准备工作");
    }

    @Override
    public void ending() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public String toString() {
        return "netcard [brand=" + brand + ", typeString=" + type + ", price=" + price + "]";
    }
    

}

实现接口


public class soundcard implements USB {

    private double price ;
    private String brand;
    private String type;
    
    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public String getBrand() {
        return brand;
    }

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

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    @Override
    public void start() {
        // TODO Auto-generated method stub
 
        if(USB.uSBType.equals(3.0)) {
            this.type="1000M";
        }else {
            this.type ="100M";
        }
        System.out.println("----------------");
        System.out.println(this.toString());
        System.out.println(this.type+"开始准备工作");
        
    }

    @Override
    public String toString() {
        return "soundcard [price=" + price + ", brand=" + brand + ", type=" + type + "]";
    }

    @Override
    public void working(String info) {
        // TODO Auto-generated method stub

        System.out.println("传输数据"+info);
    }

    @Override
    public void ending() {
        // TODO Auto-generated method stub

        System.out.println("结束工作");
    }

}
测试

public class Testusb {
 public static void main(String[] args) {
    soundcard s1=new soundcard();
    netcard n1 =new netcard();
    s1.setBrand("创新");
    s1.setPrice(33.0);
    n1.setBrand("飞跃");
    n1.setPrice(45);
    Testusb t1=new Testusb();
    t1.Testusb(n1, "等你下课");
    t1.Testusb(s1, "告白气球");
}
 public void Testusb(USB u,String info) {
     u.start();
     u.working(info);
     u.ending();
 }
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值