final类
一个类被final修饰符所修饰和限定,这个类不能被继承
final class A{
public final void t(){
System.out.println("A t()");
}
}
class B extends A{
} //错误,子类不能被继承
2.final方法
用final修饰方法,该方法不能被重写(并不是子类一定不能定义同名方法,若父类方法为私有类型,子类运行定义该方法)
public final class TestFinal{
public static int totalNumber= 5 ;
public final int id;
public TestFinal(){ // 在构造方法中对声明为final的变量id赋值
id = ++totalNumber;
}
public static void main(String[] args) {
TestFinal t = new TestFinal();
System.out.println(t.id);
final int i = 10;
final int j;
j = 20;
}
}
3.abstract类
用abstract修饰符修饰的类为抽象类
4.abstract方法
被abstract修饰的方法叫抽象方法
abstract class C{
abstract void callme( );
void metoo( ){
System.out.println("Inside C's metoo( ) method");
}
}
class D extends C{
void callme( ){
System.out.println("Inside D's callme( ) method");
}
}
public class AbstractTest{
public static void main( String args[ ] ){
C c = new D( );
c.callme( );
c.metoo( );
}
}