static:修饰方法、成员变量
不用创建对象实例化就可以直接访问,它可以修饰方法也可以修饰成员变量。
一般用法:设计成一个工具方法、访问数据库,解析Excel等文件
final:修饰类、方法、成员变量(—→变为常量)
final表示最终,不能被修改
public abstract class Phone {
//此时,Phone类就相当于一个模板,任何如果想要继承于这个类的子类都必须要按照这个模板去实现代码
public abstract void call();
//如果一个方法是抽象的方法,那么它是不能够有方法体
public abstract void sendMessage();
}
public class Huawei extends Phone {
@Override
public void call() {
System.out.println("用华为手机打电话");
}
@Override
public void sendMessage() {
}
}
public interface GoInternet {
//接口里面属性,它默认是public static final修饰的
String url = "https://www.baidu.com";
//接口里面只能有抽象方法,没有方法体
public abstract void viewNews();
//也可以写成不加abstract,默认就是abstract方法(限接口内)
public void viewNews();
}
public class Iphone extends Phone implements GoInternet,TakePhoto{
@Override
public void call() {
System.out.println("通过iphone打电话");
}
@Override
public void sendMessage() {
//url = "https://www.jd.com";
System.out.println(url);
}
@Override
public void viewNews() {
System.out.println("在iphone手机中看新闻");
}
@Override
public void takeNicePhoto() {
}
}
抽象和接口都是定义好的一个规范模板
接口里面属性,它默认是public static final修饰的