- 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
}
}