static,抽象类,接口
static 关键字
final之后无法继承
public class Person {
//2.赋初值
{
System.out.println("匿名代码块");
}
//1.只执行一次
static {
System.out.println("静态代码块");
}
//3
public Person(){
System.out.println("构造方法");
}
public static void main(String[] args){
Person person1 = new Person();
System.out.println("====================");
Person person2 = new Person();
}
}
执行结果:

静态导入包
import static java.lang.Math.random;
导入以后可以直接使用方法名调用
抽象类abstract
public abstract class Action {
//bastract ,抽象方法,只有方法名字,没有方法的实现!
public abstract void doSomething(){
//继承了抽象类所有方法的子类,都必须要实现它的方法
}
}
特点
- 不能new这个抽象类,只能靠子类去实现它:约束
- 抽象类中可以写普通的方法
- 抽象方法必须在抽象类中
是有构造器的
接口的定义与实现
- 普通类:只有具体实现
- 抽象类:具体实现和规范(抽象方法)都有!
- 接口:只有规范!自己无法写方法的约束!约束与实现分离,面向接口编程
//interface 定义的关键字,接口都需要有实现类
public interface UserService {
//接口中的所有定义其实都是抽象的 public abstract
void add(String name);
}
//实现类一般后面加Imp
public class UserServiceImp implements UserService{
@Override
public void add(String name){
//实现
}
}
多继承利用接口实现多继承
在接口里定义的属性都是常量 public static final
- 约束
- 定义一些方法,让不同的人实现
- public abstract
- public static final
- 接口不能被实例化,接口中没有构造方法
- implenments 可以实现多个接口
- 必须重写接口中的方法

浙公网安备 33010602011771号