二、Final

核心:一旦创建,不可修改

可修饰:(创建即终态)

1.类:被修饰后,将不能被继承

2.方法:被修饰后,将不能被覆写

3.属性:被创建,不可修改,且必须赋值(赋值的两种形式):

1.直接

2.构造函数赋值

ps:

a 、可与static一起修饰属性和方法

b、修饰原生类型时是确定其值不变,引用类型时是其引用地址不可更改

三、Abstract

package com.jacob.javase;


/*
 * 修饰符:
 * Abstract:
 * 核心:只创建不实现,由子类实现
 * 1.类
 * 2.方法
 */
public class ModifierAbstract {
// Cannot instantiate the type Tree
// 抽象类必须由子类实例化或者对对象中的方法覆写
// 1.2.1:
Tree a = new Tree() {
@Override
public void test() {
// TODO Auto-generated method stub
}
};
// 1.2.2:
Tree b = new BigTree();
}


// 1.抽象类
// 1.1 不能和final限定修饰符一起使用
abstract class Tree {
// 2.抽象方法
// 2.1抽象方法只存在于抽象类中
// 2.2没有方法块,只能通过子类的覆写来进行完善
// 2.3 抽象方法只能使用一个可见的限定修饰符
public abstract void test();
}


class BigTree extends Tree {
// 2.3其子类必须覆写抽象父类中的方法
public void test() {
System.out.print("覆写抽象父类的方法");
}
}