final关键字

2017-03-27  本文已影响0人  chenanle
final int age;
{
    System.out.println(age); //此处代码会出错,因为系统不会对final成员属性进行默认初始化
}
public void test(final int a) {
    a = 5; //这句语句是非法,因为不能对final修饰的形参赋值
}
public static void main(String[] aegs) {
    final double d; //定义局部变量没有指定默认值,则d可以被赋值一次
    d = 5.6; //第一次赋值成功
    d = 3.4; //此时语句非法,重复赋值
}
class Person {
    public finanl void test() {}
}

class Student extends Person {
    public void test() {} //此处编译出错,因为父类的方法不允许被重写
}
public final void test() {}
public final void test(String name) {}
public final class Person {}
class Sub extends Person {} //此处编译出错
public class TestIntegerCache {
    public static void main(String[] args) {
        Integer in1 = new Integer(6);
        Integer in2 = Integer.valueOf(6);
        Integer in3 = Integer.valueOf(6);
        System.out.println(in1 == in2);
        System.out.println(in2 == in3);
    }
}
false
true

抽象:抽象父类只要定义需要使用的某些方法,其余留给子类去实现

public abstract void test();

接口:是从多个类中抽象出来的规范,接口不提供任何实现,接口体现的是规范和实现分离的设计哲学

上一篇下一篇

猜你喜欢

热点阅读