Q24:Java中修饰符final和static的一些理解

it2026-06-07  1

final 数据类型 常量名 = 值 static final double a = 1; 等价于 final static double a = 1;

final

public final class finalTest { //final修饰变量的话------- final int x =1; // final定义出的变量成常量,不能再次赋值 public void method() { // x = 2; } //不给final定义的常量赋值的话,还可以通过 final int age; //① 有参构造中给常量赋值 public finalTest(int age) { //没有则报错 this.age = 10; } //②无参构造中给常量赋值 public finalTest() { //没有则报错 age = 10; } //final修饰方法的话------- => 不能被重写 // public final void method() { // Duplicate method method() in type finalTest // 方法不能被重写 // } //final修饰类的话------- => 不能被继承 => 没有子类 // final class finalSon extends finalTest{ // The type finalSon cannot subclass the final class finalTest // } }

static

public class Title { int n = 2; static int b = 2; public void t() { System.out.println("啊~我 被静态方法调用到了"); //虽然实例方法(普通方法)可以调用到静态方法 //但是main()没有带参数数组,所以报错 //main(); //=>main(null) n--; System.out.println("tt1" + "的n:"+n); b--; System.out.println("tt2" + "的b:"+b); } public static void main(String[] args) { //实例静态方法不能直接调用实例方法 //t(); //但是,可以通过给对象来调用 //Title tt = new Title() //int 定义的n,在执行完一次后,仍然是1,第二次执行还是1 //类的所有对象共同属性,static统一调用 Title tt1 = new Title(); tt1.t();// 1 1 Title tt2 = new Title(); tt2.t();// 1 0 } }

最新回复(0)