final修饰类、方法

1final修饰方法,那么这个方法不能被该类的子类重写。

public class Person {
    public void eat(){
        System.out.println("吃什么!");
    }
    public final static void main(String[] args) {
        Student f1=new Student();
        f1.eat();
    }
}
class Student extends Person{
	//eat方法就不能被重写,因为父类的eat方法加了final
   // @Override
    //public void eat() {
   //     System.out.println("吃鱼");
   // }
}

2,final修饰类,那么这个类则不能被继承
一旦一个类被final修饰,那么这个类里面的方法就没有必要用final修饰了

public /*final*/ class Person {
    public void eat(){
        System.out.println("吃什么!");
    }
    public final static void main(String[] args) {
        Student f1=new Student();
        f1.eat();
    }
}
//class Student extends Person{
	//eat方法就不能被重写,因为父类的eat方法加了final
   // @Override
    //public void eat() {
   //     System.out.println("吃鱼");
   // }
}

3,外界不可以创建对象
Math m=new Math();
//Don’t let anyone instantiate this class.
private Math(){}
4,math类中的所用属性、方法都被static修饰
那么不用同过创建对象去调用,只能通过“类命.属性名/方法名调用”

你可能感兴趣的:(java)