知识总结:
在类前加final:该类为最终类,不允许有子类,不允许被继承!
public class final Animal {
private String name="花花";
protected int month=2;
}
如果有类继承Animal,编译就会报错
方法前加final:该方法不能被子类继承(也就是不能在子类中重写)!但是不影响调用
public final void eat(){
System.out.println("我不能吃");
}
方法内部的局部变量前加 final:只要在具体使用前赋值即可,一旦赋值,不允许被修改
唯一能给其赋值的方法3种!
1.直接赋值;
2.构造代码块赋值;
3.构造方法赋值
(不能像之前那样,在测试类中创建对象传值赋值,编译器只能提供getter不会提供setter对final修饰过的属性)
package com.imooc.animal;
public class Animal {
private String name="花花";
protected int month=2;
public final int temp;
//构造代码块
{
temp=10;
}
public Animal(){
//temp=10;
}
}