Java语言基础:抽象类和接口

2011年03月29日 19:39    发布者:1770309616
34567


1.  一个类中的方法如果只有声明没有实现,则称为抽象方法,必须用abstract修饰之;一个有抽象方法的类称为抽象类,也必须用abstract修饰之,但抽象类可以没有抽象方法;抽象类不能被创建:
view plaincopy to clipboardprint?
01.// 抽象类
   02.abstract class A {   
03.    // 抽象方法   
04.    abstract public void proc();   
05.}   
06.   
07.// 没有抽象方法的抽象类   
08.abstract class B {   
09.    public void proc(){   
10.    }   
11.}   
12.   
13.public class Main {               
14.    public static void main(String[] args) {   
15.        // 不能创建抽象类,下面两句编译错误   
16.        A a = new A();   
17.        B b = new B();   
18.    }   
19.}  
class A {
    // 抽象方法
    abstract public void proc();
}

// 没有抽象方法的抽象类
abstract class B {
    public void proc(){
    }
}

public class Main {            
    public static void main(String[] args) {
        // 不能创建抽象类,下面两句编译错误
        A a = new A();
        B b = new B();
    }
}

2.  一个继承自抽象类的子类,如果没有覆盖抽象基类的所有方法,它也是抽象类,必须用abstract修饰之:
view plaincopy to clipboardprint?
01.// 抽象类   
02.abstract class A {   
03.    // 抽象方法   
04.    abstract public void proc();   
05.}   
06.   
07.abstract class B extends A {   
08.}  
// 抽象类
abstract class A {
    // 抽象方法
    abstract public void proc();
}

abstract class B extends A {
}
3.  接口中的方法都是抽象方法,只能有public或默认修饰符,不能有private或protected修饰符。
4.  接口可以包含字段,这些字段都被隐式声明为static final,即接口中的字段是可以认为是常量。
该文章有附件资料,如需下载请访问 电脑版