Java基础05
static
-
代码块:
//代码运行先后顺序:静态代码块 > 匿名代码块 > 构造代码块 //静态代码块只执行一次 //匿名代码块 { System.out.println("匿名代码块"); } //静态代码块 static { System.out.println("静态代码块"); } //构造代码块 public Person(){ System.out.println("构造代码块"); } -
静态导入包
import static java.lang.Math.random; public class Demo01 { public static void main(String[] args) { System.out.println(random()); } }
抽象类(abstract)
- abstract 修饰符可以修饰方法也可以修饰类
- 抽象类中可以没有抽象方法,有抽象方法的类一定要声明为抽象类
- 抽象类不能使用 new 关键字创建对象,它只能由子类继承
- 抽象方法只有方法的声明,没有方法的实现,它是让子类实现的
- 子类继承抽象类时必须实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类
抽象类相当于一个约束,就像一个插线板,只规定了插头的形状并未规定哪种电器
接口
-
- 普通类:只有具体实现
- 抽象类:具体实现和规范(抽象方法)都有
- 接口:只有规范
-
作用:
- 约束
- 定义一些方法,让不同的人实现
- 接口中方法默认用 public abstract 修饰,可以不用打出
- 接口中常量默认用 public static final 修饰,可以不用打出
- 接口不能被实例化
- implements 可以实现多个接口
- 必须重写接口中的方法
内部类
-
成员内部类:在类中再创一个类,通过外部类实例化内部类,能操作私有属性
public class Demo03 { public class Inner{ } } //实例化内部类 Demo03 demo03 = new Demo03(); Demo03.Inner inner = demo03.new Inner(); -
静态内部类
public class Demo03 { public static class Inner{ } } -
内部类:一个java类中可以有多个 class 类,但是只能有一个 public class
public class Demo03 { } class A{ } -
局部内部类
public class Demo03 { public void test(){ class Inner{ } } } -
匿名内部类:没有名字初始化类,不用讲实例保存到变量中
public class Demo03 { } //匿名内部类 new Demo03();

浙公网安备 33010602011771号