本帖最后由 谢文斌 于 2013-12-7 17:16 编辑
- package com.heibai.study;
- interface A
- {
- public abstract void a();
- }
- class B implements A
- {
- B()
- {
- System.out.println("B() run");
- a();
- }
- B(int x)
- {
- A a = new B();
- System.out.println("B("+x+") run");
- a.a();
- }
- public void a()
- {
- System.out.println("B().a() run");
- }
- }
- class Temp
- {
- public static void main(String[] args)
- {
- new B(1);
- }
- }
复制代码
输出结果:
B() run
B().a() run
B(1) run
B().a() run
接口是不能实例化的,所以它没有构造方法。你用A a = new B(),new 的是class B的对象,还有,构造函数里面不能new 自己的对象,只能new 别的参数的对象。你想想,B(){ new B()},那不就是一直new 吗,无底洞啊亲,所以会报异常的!!!
|