java抽象

145 阅读1分钟

final

  • final的变量的值不能够被改变
  • final的方法不能够被重写
  • final的类不能够被继承

Java中,我们无法让对象被修饰为final,而只能修饰对象的引用,这意味着即使你写public final A a = new A(); 事实上a指向的对象的数据依然可以被修改,不能修改的是a本身的引用值,即你不能再对a进行重赋值。

抽象

  • 用关键字abstract修饰的方法称为抽象方法。

abstract class A //类A为抽象类 { …… }

不能直接被实例化,因此一般作为其它类的父类,定义目的是提供可由其子类共享的一般形式。

抽象类需要继承,子类根据自身需要扩展抽象类

abstract class A { abstract int aa(int x,int y);//方法aa为抽象方法 }

抽象类中可以没有抽象方法或某个方法不是抽象方法,有抽象方法的类一定是抽象类[抽象方法只能位于抽象类]。

abstract关键字来修饰一个类时,这个类叫做抽象类:用abstract来修饰一个方法时,该方法叫做抽象方法。

含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。

抽象类不能被实例化。

抽象方法只需声明,而不需实现。

【例】一个带有抽象成员函数的类。

abstract class A //父类 {

abstract void callme( );

void me( ) {

System.out.println("在A的me成员函数里"); } }

class B extends A //子类{

void callme( ) {

System.out.println("在B的callme成员函数里"); } }

public class Abstract {

public static void main(String args[])

{ A a = new B( );//父类new子类

a.callme( );

  a.me ( );

} }

 输出结果:在B的callme成员函数里;
          在A的me成员函数里。
          
          
          
          
          
          
          
          
          
          
          
          5.12