Java基础14
-
static关键字:
- static修饰的变量即静态变量,可以通过类直接调用,非静态变量需要实例化类以后才可以调用。
- static修饰的方法即静态方法,可以通过类直接调用,非静态方法需要实例化类以后才可以调用。非静态方法可以调用静态方法,反之,则会报错,因为静态方法是和类一起加载的。
public class Student { private static int age; // 静态变量 private double score; // 非静态变量 System.out.println(Student.age); System.out.println(new Student().age); System.out.println(new Student().score); // 非静态方法 public void run(){ go(); // 调用静态方法 } public static void go(){} // 静态方法 { // 代码块(匿名代码块) System.out.println("匿名代码块"); } static { // 静态代码块 System.out.println("静态代码块"); } public Person() { System.out.println("构造方法"); } /* 初始化对象最先执行静态代码块,然后执行匿名代码块,最后执行构造方法。 */ }
-
抽象类:
-
abstract关键字修饰的类。
-
不能实例化抽象类,只能靠子类去实现!抽象类没有构造方法。
-
抽象类中可以写普通方法,抽象方法必须在抽象类中。
public abstract class Action { // 抽象方法: 只有方法名,没有方法实现,继承了抽象类的子类必须实现抽象方法 public abstract void doSomething(); }
-
-
接口:
- 普通类:只有具体实现。抽象类:具体实现和规范(抽象方法)都有!接口:只有规范!
- interface关键字修饰的类,接口都需要有实现类。
- 类可以实现接口: implements 接口,一个类可以实现多个接口。
- Java利用接口实现(伪)多继承!