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();
}
}